说,我有一个像
这样的块(1..10).each do |number|
c.should == d
array1.empty? should_not be_false
array2.empty? should be_true
result.should eq(3)
end
每当期望在此块内失败时,我想将"failed at #{number}"
这样的文本附加到失败消息中。
我可以这样做:
(1..10).each do |number|
message = "failed at #{number}"
c.should == d, message
array1.empty? should_not be_false, message
array2.empty? should be_true, message
result.should eq(3), message
end
可是:
, message
)答案 0 :(得分:1)
您可以使用其他消息捕获并重新引发异常:
(1..10).each do |number|
begin
c.should == d
array1.empty? should_not be_false
array2.empty? should be_true
result.should eq(3)
rescue RSpec::Expectations::ExpectationNotMetError => e
e.message << "failed at #{number}"
raise e
end
end