1

在 Erlang 通用测试中手动使测试用例失败的最佳方法是什么?我正在使用这样的东西:

ok = nok, % fail as soon as possible

引发 badmatch 异常并使案例失败。我想知道是否还有其他(更好的)方法可以实现这一目标?

4

3 回答 3

3

ct:fail/1并且ct:fail/2似乎因为这个原因在那里。

于 2013-01-11T12:18:25.843 回答
0

不,这是一个标准的非常好的方法。另一种选择是不仅失败,而且尝试生成更相关的错误。例如,如果函数在成功时foo_test()返回ok,那么另一种方法可能是编写:

ok = foo_test()

测试并生成错误。它仍然是一个badmatch错误,但更容易看出哪里出了问题。

于 2013-01-11T11:29:22.183 回答
0

我有时会使用以下error功能:

error(incorrect_foo)

这样我就可以很容易地在同一个测试用例中区分不同的失败原因。例如,我可能error(incorrect_bar)在同一个函数的某个地方。

于 2013-01-11T12:14:10.787 回答