【发布时间】:2012-02-28 01:49:09
【问题描述】:
我想知道如何在 eunit 中标记特定测试,以强制在下一次测试运行时忽略它(即编译但不执行)。我是在 TDD 上下文中提出这个问题的,即我想用绿色进行重构,但仍有一些测试用例,我稍后再讨论。
我宁愿不注释掉测试,这是忘记它的好方法。 eunit 的测试摘要行确实有一个跳过的行,但我找不到任何关于该功能的文档。
【问题讨论】:
-
“skipped line”表示由于设置失败,未执行测试。
我想知道如何在 eunit 中标记特定测试,以强制在下一次测试运行时忽略它(即编译但不执行)。我是在 TDD 上下文中提出这个问题的,即我想用绿色进行重构,但仍有一些测试用例,我稍后再讨论。
我宁愿不注释掉测试,这是忘记它的好方法。 eunit 的测试摘要行确实有一个跳过的行,但我找不到任何关于该功能的文档。
【问题讨论】:
您可以暂时从测试名称中删除“_test”后缀(或添加任何其他后缀,例如“_ignore”)。它会编译,但不会显示在摘要中(因为它将被视为常规函数,因此会被 eunit 忽略)。
当然这是一种解决方法,eunit 应该支持这样的功能,但恐怕它不支持。
EUnit 的“已跳过”概念意味着某些事情阻止了测试运行,例如编译失败、负责测试的节点崩溃或设置失败。
这个概念深深地嵌入在代码中,因此没有简单的方法可以让用户跳过测试。
【讨论】:
eunit.hrl,它非常简单。也许我会开始实现这个功能。