小编rjm*_*aro的帖子

访问RSpec支持文件中的方法时,"未定义的方法`stub_request'"

对于规范,我在Ruby-on-Rails项目中有以下文件结构:

/spec
  /msd
    /service
      service_spec.rb
  /support
    /my_module
      requests_stubs.rb
Run Code Online (Sandbox Code Playgroud)

request_stubs.rb有:

module MyModule::RequestsStubs

  module_function

  def list_clients
    url = "dummysite.com/clients"
    stub_request(:get, url).to_return(status: 200, body: "clients body")
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的service_spec.rb身上:

require 'rails_helper'
require 'support/my_module/requests_stubs'
...
Run Code Online (Sandbox Code Playgroud)

因为我只想要这个文件中可用的方法.

问题是,在运行测试时我调用该方法MyModule::RequestsStubs.list_clients将在service_spec.rb文件中,我得到以下错误:

Failure/Error:
       stub_request(:get, url).to_return(status: 200, body: "clients body")

     NoMethodError:
       undefined method `stub_request' for MyModule::RequestsStubs:Module
Run Code Online (Sandbox Code Playgroud)

访问WebMock方法时stub_request.

WebMock gem已安装,并且在spec_helper.rb文件中是必需的.

为什么会出现错误?看起来它无法访问WebMock gem,或者不知道如何访问它.关于如何解决它的任何想法?

ruby rspec ruby-on-rails

6
推荐指数
1
解决办法
1823
查看次数

在包含子模块的项目中合并时如何解决“错误:add_cacheinfo 无法刷新路径”

我有一个带有子模块的项目。尝试将分支(名为release)合并到 中时master,git 识别出一些冲突并引发以下错误:

Fast-forwarding submodule path/to/submodule
Auto-merging path/to/submodule
error: add_cacheinfo failed to refresh for path 'path/to/submodule'; merge aborting.
Run Code Online (Sandbox Code Playgroud)

它完全停止了合并,因为没有显示它的证据git status,尽管我可以看到分支中的一些文件release。如果我运行git merge --abort它也会抱怨:

fatal: There is no merge to abort (MERGE_HEAD missing).
Run Code Online (Sandbox Code Playgroud)

git git-submodules

4
推荐指数
1
解决办法
2726
查看次数

没有找到 KieBase 的 DRL 文件,使用 kmodule.xml

我正在使用 java 和 Drools 6.2.0 开发 Maven 项目,我试图通过 kmodule.xml 文件将某个 DRL 文件“绑定”到 KieBase,但我不断收到错误消息

WARN org.drools.compiler.kie.builder.impl.AbstractKieModule - No files found for KieBase
Run Code Online (Sandbox Code Playgroud)

在运行项目时。

我想我已经以正确的方式配置了一切,如文档中所示(第 4.2.2 章 - 概述 - 构建、部署、利用和运行 - 构建),但看不出我的错误在哪里。

在这个项目中,由于项目架构的原因,我认为通过编码声明/配置 Drools 不是我的选择,这就是我使用 kmodule.xml 方法的原因。

欢迎任何建议。


我的 kmodule.xml(位置:src/main/resources/META-INF):

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://jboss.org/kie/6.0.0/kmodule">
    <kbase name="departureKB" packages="com.site.myapp.checks.departure">
        <ksession name="departureKS" type="stateless" />
    </kbase>
</kmodule>
Run Code Online (Sandbox Code Playgroud)

我的 DRL 文件(虚拟)(位置:src/main/resources/com/site/myapp/checks/departure):

package com.site.myapp.checks.departure

rule "my rule 1"
    when
        // some conditions
    then
        // something to do
end
Run Code Online (Sandbox Code Playgroud)

我的班级出发(只有 Drools 代码)(位置:src/com/site/myapp/checks):

channelName …
Run Code Online (Sandbox Code Playgroud)

drools

1
推荐指数
1
解决办法
7884
查看次数

标签 统计

drools ×1

git ×1

git-submodules ×1

rspec ×1

ruby ×1

ruby-on-rails ×1