到目前为止,我使用的是“希望”在我的测试框架,当遇到失败状态,将停止执行。我想是这样,即使满足条件失败的执行应该发生。我看到有一个叫“验证”在rspec的匹配,我需要继承“测试::单位:: TestCase的”类,但我的问题是,我需要在我的规格文件中的匹配未根据书面Ruby类。
没有办法使用RSpec做到这一点,开箱即用。因为Rspec的旨在测试小的,孤立的逻辑。
如果失败,Rspec的匹配器引发错误,那么你可以做的是包裹在匹配器救援块。为了满足你的需要,你可以写一个像这样的包装:
def report_last(&block)
begin
yield
rescue Exception => e
puts "Failure: #{e}"
end
end
在您的测试案例:
describe Calculator do
it “should add 2 numbers” do
report_last do
expect(described_class.new(2, 3).sum)to eq(5)
end
end
end