在 Erlang 通用测试中手动使测试用例失败的最佳方法是什么?我正在使用这样的东西:
ok = nok, % fail as soon as possible
引发 badmatch 异常并使案例失败。我想知道是否还有其他(更好的)方法可以实现这一目标?
不,这是一个标准的非常好的方法。另一种选择是不仅失败,而且尝试生成更相关的错误。例如,如果函数在成功时foo_test()
返回ok
,那么另一种方法可能是编写:
ok = foo_test()
测试并生成错误。它仍然是一个badmatch
错误,但更容易看出哪里出了问题。
我有时会使用以下error
功能:
error(incorrect_foo)
这样我就可以很容易地在同一个测试用例中区分不同的失败原因。例如,我可能error(incorrect_bar)
在同一个函数的某个地方。