En RSpec, ¿cuál es la diferencia entre usar should == ...
y should eql(...)
? Noté que la documentación de RSpec siempre usa eql
, pero ==
es menos tipada y más fácil de leer. ¿Qué me estoy perdiendo?RSpec: diferencia entre "should == ..." y "should eql (...)"
10
A
Respuesta
16
Es bastante simple, realmente: should ==
==
envía el mensaje a la persona de prueba, should eql
envía el mensaje eql?
al sujeto de prueba. En otras palabras: las dos pruebas diferentes envían dos mensajes completamente diferentes que invocan dos métodos completamente diferentes y, por lo tanto, hacen dos cosas completamente diferentes. En particular, eql?
es más estricto que ==
pero menos estricto que equals?
.
15
Por lo general son equivalentes, pero no siempre:
1 == 1.0 # => true
1.eql? 1.0 # => false
+0
touche ... touche. .. –
Cuestiones relacionadas
- 1. RSpec 2.7 y hash should have_key
- 2. css name should be be?
- 3. rspec ¿cuál es la diferencia entre ser nulo y be_nil
- 4. Rails - RSpec - ¡Diferencia entre "let" y "let!"
- 5. ¿Cuál es la diferencia entre eq, eql, equal y equalp, en Common Lisp?
- 6. ¿Cuál es la diferencia entre RSpec y Cucumber?
- 7. ¿Cuál es la diferencia entre stub_model y mock_model en RSpec?
- 8. Probando respuestas REST-API con Rspec y Rack :: Test
- 9. ¿Cuál es la diferencia entre la gema Rspec y Rspec-Rails?
- 10. RSpec: diferencias en profundidad entre before (: all) y before (: each)
- 11. ruby rspec y comparación de cuerdas
- 12. RSpec - uso de lambda
- 13. Rspec y rutas con nombre
- 14. ¿Cuál es la diferencia entre NSKeyValueObservingOptionNew y NSKeyValueObservingOptionOld?
- 15. Cómo probar los campos attr_accessible en RSpec
- 16. pruebas de ruta y rspec anfitriones
- 17. plantillas de prueba RSpec que se queden
- 18. En Geb, ¿cuál es la diferencia entre mostrarse y presente?
- 19. MySQL: diferencia entre ', `,' y"
- 20. Diferencia entre objeto y *?
- 21. Diferencia entre. y #
- 22. ¿Diferencia entre == y caso?
- 23. La diferencia entre $ * y $ @
- 24. Diferencia entre & y &
- 25. ¿Cuál es la diferencia entre io.sockets.emit y broadcast?
- 26. VBA: Diferencia entre y y +
- 27. En RSpec, ¿cuál es la diferencia entre el apéndice? y stub?
- 28. Diferencia entre un bloque y un bloque de especificar en RSpec
- 29. En RSpec, ¿cuál es la diferencia entre un simulacro y un doble?
- 30. ¿Cuál es la diferencia entre static_cast y reinterpret_cast?
http://batsov.com/articles/2011/11/28/ruby-tip-number-1-demystifying-the-difference-between-equals-equals-and-eql/ – Kris