gpt4 book ai didi

ruby - 在 MiniTest 的 assert_raises/must_raise 中检查异常消息的预期语法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:18:50 24 4
gpt4 key购买 nike

在 MiniTest 的 assert_raises/must_raise 中检查异常消息的预期语法是什么?

我正在尝试做出如下断言,其中 "Foo" 是预期的错误消息:

proc { bar.do_it }.must_raise RuntimeError.new("Foo")

最佳答案

您可以使用 assert_raises断言,或 must_raise期待。

it "must raise" do
assert_raises RuntimeError do
bar.do_it
end
-> { bar.do_it }.must_raise RuntimeError
lambda { bar.do_it }.must_raise RuntimeError
proc { bar.do_it }.must_raise RuntimeError
end

如果你需要在错误对象上测试一些东西,你可以像这样从断言或期望中得到它:

describe "testing the error object" do
it "as an assertion" do
err = assert_raises RuntimeError { bar.do_it }
assert_match /Foo/, err.message
end

it "as an exception" do
err = ->{ bar.do_it }.must_raise RuntimeError
err.message.must_match /Foo/
end
end

关于ruby - 在 MiniTest 的 assert_raises/must_raise 中检查异常消息的预期语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com