查看是否存在异常';s消息通过Test::Unit匹配Ruby中的已知字符串
假设我有一个用Ruby编写的方法,我正在通过Test::unit进行单元测试。此方法可以出于多个原因引发查看是否存在异常';s消息通过Test::Unit匹配Ruby中的已知字符串,ruby,unit-testing,testunit,Ruby,Unit Testing,Testunit,假设我有一个用Ruby编写的方法,我正在通过Test::unit进行单元测试。此方法可以出于多个原因引发SystemExit,但在异常中唯一标识引发它的原因。我知道我可以这样做来断言引发了异常: assert_raises(SystemExit) { boo() } 但这与boo()抛出SystemExit的所有情况都匹配。我如何区分boo()中止(“原因1”)与中止(“原因2”)的情况?只需用开始..营救。如果需要重复执行,请编写帮助器方法 begin boo() rescue Syst
SystemExit
,但在异常中唯一标识引发它的原因。我知道我可以这样做来断言引发了异常:
assert_raises(SystemExit) { boo() }
但这与boo()
抛出SystemExit
的所有情况都匹配。我如何区分boo()
中止(“原因1”)
与中止(“原因2”)
的情况?只需用开始..营救。如果需要重复执行,请编写帮助器方法
begin
boo()
rescue SystemExit => e
assert_equal(e.message, "This message")
end
assert\u raises助手已经返回它捕获的异常
e = assert_raises(SystemExit) { boo() }
assert_equal("Reason 1", e.message)
无需亲自动手/抢救。效果很好-谢谢!我不确定Test::Unit中是否内置了自动执行此操作的功能,但它也可以工作!你可以定义#断言(用_message)
,我想:)