有没有办法使用像RSpec的“验证”一个匹配的方法吗?

问题描述 投票:0回答:1

到目前为止,我使用的是“希望”在我的测试框架,当遇到失败状态,将停止执行。我想是这样,即使满足条件失败的执行应该发生。我看到有一个叫“验证”在rspec的匹配,我需要继承“测试::单位:: TestCase的”类,但我的问题是,我需要在我的规格文件中的匹配未根据书面Ruby类。

ruby selenium selenium-webdriver rspec matcher
1个回答
1
投票

没有办法使用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
© www.soinside.com 2019 - 2024. All rights reserved.