ExUnit 断言
ExUnit Assertions
在测试用例中,我们使用断言来处理错误。将它们的 return 值与我们定义的匹配,测试将通过。就像我们有参数错误一样,我们使用这个:
assert_raise ArgumentError, "argument error", fn ->
这将起作用并且测试将通过。如果我们有 ArgumentError
。 RuntimeError
也是如此
但是如果我们有像这样的长错误消息:
exception Postgrex.Error (ERROR 42703 (undefined_column): column
j0.rating does not exist)
我们如何处理测试用例中的此类长异常消息?
谢谢
如果你不想断言异常中的消息,你可以调用assert_raise/2
:
assert_raise Postgrex.Error, fn ->
...
end
如果你只想匹配异常消息的一部分,你可以传递一个正则表达式给assert_raise/3
:
assert_raise Postgrex.Error, ~r/undefined_column/, fn ->
...
end
在测试用例中,我们使用断言来处理错误。将它们的 return 值与我们定义的匹配,测试将通过。就像我们有参数错误一样,我们使用这个:
assert_raise ArgumentError, "argument error", fn ->
这将起作用并且测试将通过。如果我们有 ArgumentError
。 RuntimeError
但是如果我们有像这样的长错误消息:
exception Postgrex.Error (ERROR 42703 (undefined_column): column
j0.rating does not exist)
我们如何处理测试用例中的此类长异常消息?
谢谢
如果你不想断言异常中的消息,你可以调用assert_raise/2
:
assert_raise Postgrex.Error, fn ->
...
end
如果你只想匹配异常消息的一部分,你可以传递一个正则表达式给assert_raise/3
:
assert_raise Postgrex.Error, ~r/undefined_column/, fn ->
...
end