本文介绍了试图提高 ArgumentError rspec的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 Rspec 测试没有通过,我不明白为什么.所有其他测试都通过了,除了这个需要 ArgumentError

I have an Rspec test that is not passing, and I don't understand why. All other tests are passing, except this one requiring an ArgumentError

测试如下:

describe "#evaluate" do
    it "raises error" do
        expect(rpn.evaluate('%')).to raise_error(ArgumentError)
    end
end

并且我的文件已设置,因此它会引发错误(作为 else 语句)

and my file is setup so it will raise an error (as an else statement)

else
  raise ArgumentError.new
end

但是 rspec 告诉我这个

but rspec is telling me this

Failure/Error: expect(rpn.evaluate('%')).to raise_error(ArgumentError)
     ArgumentError:
       ArgumentError

推荐答案

做:

expect { rpn.evaluate('%') }.to raise_error(ArgumentError)

即传递一个块来期望

这篇关于试图提高 ArgumentError rspec的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-31 04:39