Junit投掷警告,同时仍然通过测试

2022-09-03 12:59:17

目前我正在开发一个项目,我们正在使用junit进行测试,但是由于它仍然处于相当早期的阶段,因此许多功能尚未实现,尽管他们已经为它们编写了测试。

这意味着这些测试(显然)总是失败

我想知道是否有人知道一种方法让JUnit在显示警告时通过测试。最好带有可自定义的消息,以便我们可以注意到该功能尚未实现。

这样做的要点是,只有当所有测试都通过时,我们才希望编写代码以进行编译,而目前这根本不可能。

我意识到我们可以只是注释掉或删除有问题的测试,但是我们冒着忘记稍后添加它们的风险。


答案 1

org.junit.Assume 会做你需要的事情吗?


答案 2

我见过的大多数 JUnit 运行器都会为您提供测试用例的四种状态之一:通过、失败、出错或忽略。

由于错误(抛出异常)以与失败(“红色结果”)类似的方式报告,因此没有一种好方法来生成警告并且仍然有“绿色结果” - 我假设这就是您要查找的?

正如 Janusz 所提到的,您可以使用该属性来忽略也可以包含消息的测试用例:@Ignore

@Ignore("disabled until implementation is finished")
public void testMe() {
   //do something
}

大多数运行器不会在结果中显式列出它们,但是您可以使用工具自动查找任何忽略的测试用例,方法是查找属性并在之后生成报告,该报告列出了所有已跳过的测试用例以及原因(在属性中给出)。@Ignore


推荐