在测试用例中,我们使用断言来处理错误。将它们的返回值与我们定义的值相匹配,测试将通过。就像我们有一个参数错误一样,我们使用它:
assert_raise ArgumentError, "argument error", fn ->
这将有效并且测试将通过。如果我们有ArgumentError
。 RuntimeError
但是如果我们有这样的长错误消息:
exception Postgrex.Error (ERROR 42703 (undefined_column): column
j0.rating does not exist)
我们如何在测试用例中处理这些长异常消息?
由于
答案 0 :(得分:3)
如果您不想在异常中声明消息,可以致电assert_raise/2
:
assert_raise Postgrex.Error, fn ->
...
end
如果您只想匹配部分异常消息,可以将正则表达式传递给assert_raise/3
:
assert_raise Postgrex.Error, ~r/undefined_column/, fn ->
...
end