所以我有一个rspec测试,我试图让我的程序验证:
来自rspec测试的代码片段:
context '#validate(test_tool)' do
it { expect(test_tool.validate).to raise_error StandardError }
来自test_tool的代码片段(test_tool是我编写的用于传递rspec测试的程序)在test_tool中有多种方法,但我只是提取了一个rspec测试正在寻找的方法:
def self.validate
raise StandardError
end
我到处搜索了。无论我如何尝试提出此错误。我一直在收到错误。请参阅控制台输出的片段:
example at ./spec/training_site/spec_test.rb:56 (FAILED - 1)
Failures:
1) MyClass #validate(test_tool)
Failure/Error: it { expect(MyClass.validate).to raise_error StandardError }
StandardError:
StandardError
第56行只是第一个代码段的第二行。
基本上,我正在寻找故障排除和/或如何实现这一目标的示例。
答案 0 :(得分:4)
这是正确的规范。您应该使用{}(方括号),因为您正在等待它引发错误。您使用的简单括号用于值检查。
context '#validate(test_tool)' do
it { expect{test_tool.validate}.to raise_error StandardError }