2011-09-18 15 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デベロッパーstubstub!

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

関連する問題