RSpec:“should == …”和“should eql(…)”之间的区别
在RSpec中,使用should == ...
和should eql(...)
之间有什么区别? 我注意到RSpec文档总是使用eql
,但==
键入的内容更少,更易于阅读。 我错过了什么?
这很简单,真的: should ==
将==
消息发送给测试主题, eql?
should eql
发送eql?
给测试对象的消息。 换句话说:两个不同的测试发送两个完全不同的消息,它们调用两个完全不同的方法,从而做两个完全不同的事情。 特别是eql?
比==
更严格但比equals?
更严格equals?
。
它们通常是等价的,但并非总是如此:
1 == 1.0 # => true 1.eql? 1.0 # => false
- 在为ruby运行rspec时如何更改环境变量?
- RSpec测试破坏方法(Rails Tutorial 3.2 Ch.9,Ex.10)
- 耙黄瓜和耙子规格总是使用“开发”环境
- Rails:良好的Rspec2示例用法? (另外:Cucumber,Pickle,Capybara)
- Selenium无法找到’spec’文件夹
- 使用Devise的可确认模块进行测试(RSpec)
- Rspec没有在Linux中加载ControllerMacros模块(但在OS X上很好)
- 如何在测试操作时将值放入flash中
- rail3 / rspec / devise:除非我添加一个dummy = subject.current_user.inspect,否则rspec控制器测试失败