2011-09-18 22 views

Respuesta

13

Tanto en la versión 2 como en la v1.3.2, son simplemente alias uno del otro. En v1.3.2 stub es un alias de stub!

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

Mientras que en v2.6 de rspec 2, stub! es un alias de stub

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

Sin embargo, en v1.1.4, stub es un alias para mock, y stub! es un método diferente. De los documentos, parece que stub! en esta versión anterior se utilizó para agregar métodos a objetos existentes, creando un "simulacro parcial".

La explicación:
https://github.com/dchelimsky/rspec/blob/1.1.4/lib/spec/mocks.rb#L43

Las definiciones:
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

Cuestiones relacionadas