我使用rspec-mocks时遇到问题。
捆绑列表显示:
Gems included by the bundle:
* CFPropertyList (2.2.8)
* builder (3.2.2)
* bundler (1.7.12)
* ci_reporter (1.9.3)
* diff-lcs (1.2.5)
* excon (0.44.0)
* facter (2.4.0)
* hiera (1.3.4)
* json_pure (1.8.2)
* metaclass (0.0.4)
* mocha (1.1.0)
* puppet (3.7.4)
* puppet-lint (1.1.0)
* puppet-syntax (1.4.1)
* puppetlabs_spec_helper (0.8.2)
* rake (10.4.2)
* rcov (1.0.0)
* rspec (3.1.0)
* rspec-core (3.1.7)
* rspec-expectations (3.1.2)
* rspec-legacy_formatters (1.0.0)
* rspec-mocks (3.1.3)
* rspec-puppet (1.0.1)
* rspec-support (3.1.2)
我的rspec:
require 'spec/spec_helper'
describe 'My behaviour' do
it 'should do something' do
t = double()
end
end
据我所知,我做的一切都是正确的,但是在测试执行期间我一直遇到这种错误:
1) My behaviour should do something
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `double' for #<RSpec::ExampleGroups::MyBehaviour:0x10275f168>
# ./spec/puppet/util/network_device/netapp_e/my_example_spec.rb:8
对于来自rspec-mocks的每种方法都是如此,例如:'allow','receive'等。 有谁知道,为什么会这样?
答案 0 :(得分:2)
您是否声明要使用RSpec模拟?通常这是在spec_helper.rb
文件中完成的,如下所示:
RSpec.configure do |config|
config.mock_framework = :rspec
end