2015-02-02 7 views
2

rspec-mocks 사용에 문제가 있습니다.정의되지 않은 메서드 double double

번들 목록을 보여줍니다

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 

'allow', 'receive'등과 같은 rspec-mocks의 모든 메소드에 대해 동일하게 적용됩니다. 아무도 알지 못합니다. 왜 이런 일이 발생하고 있습니까?

답변

2

RSpec mock을 사용하겠다고 선언 했습니까? 보통 이것은 다음과 같이 spec_helper.rb 파일에서 수행됩니다.

RSpec.configure do |config| 
    config.mock_framework = :rspec 
end 
+0

음, 저에게는 효과가 있었지만 추가 질문이 있습니다. 문서화 된 곳은 어디입니까? rocks-mocks의 문서화에 mock 구성이 필요하다는 것을 알 수 없습니다. – kendriu

+0

다음 위치에서 설명서를 찾으십시오. https://www.relishapp.com/rspec/rspec-core/v/3-1/docs/mock-framework-integration/mock-with-rspec 문서에'rspec'이 기본값으로 나와 있습니다. ,하지만 그렇게 쉽지는 않은 것 같습니다 ... – spickermann

관련 문제