2011-05-03 62 views
0

有没有更好的方法来做到这一点?定义一个测试,需要两步才能通过rspec

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 

看来凌乱,因为第二个“应==”行给我的“在无效的情况下无用使用==的”语法警告,如果两方面的要求未能我也只得到一个错误。但是做一个单独的测试似乎并不重要。

+0

foo是一个等于0的整数吗?它也可能有助于提供更多关于你想要测试的内容。一般来说,每个测试用例可以有多个断言。 – 2011-05-03 16:44:55

回答

2

您可以

(obj1.foo == 0 && obj2.foo == 0).should be_true 

做或

[obj1, obj2].all?{|o| o.foo == 0}.should be_true 

有报道的一个测试案例不止一个故障基本上是不可能的。

相关问题