2011-09-18 58 views

回答

13

在版本2和v1.3.2中,它們只是彼此的別名。在V1.3.2 stubstub!

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

別名儘管在rspec的2的V2.6,stub!stub

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

然而在V1.1.4,stub別名是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