有没有办法让gennserver退出EUnit而不是炸弹(并认为它失败了)?

时间:2016-04-05 02:06:13

标签: erlang eunit

我有几个EUnit测试来测试我创建的gen_server的功能。例如,让我们为我正在编写的IRC服务器进行以下测试:

empty_channel_details_when_getting_details_of_channel_that_does_not_exist_test() ->
  start(),
  ?assertMatch({ok, #channel_details{name = "name", users = #{}}}, irc_channel_manager_server:get_channel_details("name")).

当然,因为我使用TDD方法创建了这个,运行我的gen_server会导致case_clause退出,因为我显然还没有编写该测试用例。

这个问题是导致EUnit显示的输出,即:

=======================================================
  Failed: 0.  Skipped: 0.  Passed: 0.
One or more tests were cancelled.
error

我个人认为这是错误的。我的测试不仅显然失败了,而且在这个测试模块中总共编写了3个测试用例,一个失败意味着其他两个测试都没有尝试过。

有没有办法让EUnit将退出或异常视为失败并且不会导致它取消测试运行?这使得确定意外断裂变化的范围变得非常困难。

0 个答案:

没有答案