2011-09-18 1 views
9

나는 그것이 여러 번 사용되는 것을 보아 왔으며 결코 그것에 대해 질문하지 않았습니다. 이제 스텁과 스텁의 차이점이 있는지 궁금합니다.RSpec에서 스텁의 차이점은 무엇입니까? 스텁?

있습니까? 아니면 역사적입니까? 스텁을! 한 번 그걸 찔렀다는 뜻인가요? 정상적인 메소드 호출로 되돌아 간다.

답변

13

버전 2 및 v1.3.2에서 모두 단순한 별칭입니다. RSpec에 2 V2.6에서 stub! 그러나 v1.1.4에서 stub

https://github.com/rspec/rspec-mocks/blob/master/lib/rspec/mocks/methods.rb#L12

, stub의 별명이지만 v1.3.2 stub에서 stub!

https://github.com/dchelimsky/rspec/blob/v1.3.2/lib/spec/mocks/methods.rb#L12

의 별칭은 mock의 별명이고 stub!은 별도의 메소드입니다. 문서에서이 초기 버전의 stub!은 기존 객체에 메소드를 추가하여 "부분적인 모의 객체"를 만드는 것처럼 보입니다.

설명 :
https://github.com/dchelimsky/rspec/blob/1.1.4/lib/spec/mocks.rb#L43

정의 :
https://github.com/dchelimsky/rspec/blob/1.1.4/lib/spec/mocks/spec_methods.rb#L27
https://github.com/dchelimsky/rspec/blob/1.1.4/lib/spec/mocks/methods.rb#L12