【发布时间】:2015-06-23 01:32:16
【问题描述】:
所以我有一个 rspec 测试,我试图让我的程序对其进行验证:
rspec 测试中的代码 sn-p:
context '#validate(test_tool)' do
it { expect(test_tool.validate).to raise_error StandardError }
来自 test_tool 的代码 sn-p(test_tool 是我为通过 rspec 测试而编写的程序) 在 test_tool 内部有多种方法,但我只是抽出了 rspec 测试正在寻找的一种方法:
def self.validate
raise StandardError
end
我到处都用谷歌搜索过。无论我如何尝试引发此错误。我不断收到错误消息。请看控制台输出的sn-p:
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 行只是第一个代码 sn-p 的第二行。
基本上,我正在寻找故障排除和/或有关我应该如何完成此任务的示例。
【问题讨论】:
-
你能试试用expect{MyClass.validate}代替expect(MyClass.validate)吗?
-
@Maxim - 是的,这似乎有效。为什么我需要使用花括号而不是括号?