有更好的方法吗?
describe '#reset_all' do
it 'should reset foo for all objects' do
manager.iterate_all
manager.reset_all
obj1.foo.should == 0
obj2.foo.should == 0
end
end
它似乎很乱,因为第二个“should ==”行给了我一个语法警告“在void上下文中无用的使用==”,如果两个要求都失败,我也只会得到一个错误。但是,进行单独测试似乎并不重要。
答案 0 :(得分:2)
你可以用
完成(obj1.foo == 0 && obj2.foo == 0).should be_true
或
[obj1, obj2].all?{|o| o.foo == 0}.should be_true
一个测试用例报告了多个失败基本上是不可能的。