小编Jac*_*cek的帖子

RSpec :: Mocks :: ExampleMethods的未定义方法instance_double

我有一个这样的测试用例:

describe WorkCardsController do
    it "something" do
        work_card = instance_double(WorkCard, {:started?=>true} )
        #some more code
    end
end
Run Code Online (Sandbox Code Playgroud)

当我运行RSpec时,我收到一个错误:

undefined method 'instance_double' for #<Rspec::Core::ExampleGroup::Nested_1::Nested_8::Nested_3:0x007f0788b98778>
Run Code Online (Sandbox Code Playgroud)

根据http://rubydoc.info/github/rspec/rspec-mocks/RSpec/Mocks/ExampleMethods,此方法存在.所以我尝试通过以下方式直接访问它:

describe WorkCardsController do
    it "something" do
        work_card = RSpec::Mocks::ExampleMethods::instance_double(WorkCard, {:started?=>true} )
        #some more code
    end
end
Run Code Online (Sandbox Code Playgroud)

然后我得到了一个非常令人惊讶的错误:

undefined method 'instance_double' for Rspec::Mocks::ExampleMEthods:Module
Run Code Online (Sandbox Code Playgroud)

这与我上面链接的文档相反.

我错过了什么?

ruby unit-testing rspec ruby-on-rails rspec-mocks

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

标签 统计

rspec ×1

rspec-mocks ×1

ruby ×1

ruby-on-rails ×1

unit-testing ×1