Junit在通过测试时抛出警告

Jos*_*nes 13 java junit unit-testing

我正在研究一个项目,我们正在使用junit进行测试,但由于它还处于早期阶段,许多功能尚未实现,尽管它们已经为它们编写了测试

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

我想知道是否有人知道如何让JUnit在显示警告时通过测试.最好使用可自定义的消息,以便我们注意到该功能尚未实现.

这一点是我们想要编码只在所有测试都通过的情况下进行编译,而目前这根本不可能.

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

Chr*_*cks 9

我见过的大多数JUnit运行程序将为您提供测试用例的四种状态之一:传递,失败,有错误或被忽略.

因为错误(抛出异常)以类似的方式报告失败("红色结果"),没有一种好的方法来生成警告并且仍然有"绿色结果" - 我认为这就是你正在寻找的对于?

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

@Ignore("disabled until implementation is finished")
public void testMe() {
   //do something
}
Run Code Online (Sandbox Code Playgroud)

大多数运行者不会在结果中明确地列出它们,但是您可以使用工具自动查找任何被忽略的测试用例,通过查找@Ignore属性并生成报告,其中列出了已跳过的所有测试用例及其原因(在属性中给出)为什么.


lum*_*ose 9

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


Jan*_*usz 5

你可以在测试方法前面的@Ignore.然后它取决于测试运行器你得到什么样的输出.你可以得到像成功运行25个测试和6个测试被忽略的东西......

所有进一步的事情取决于您希望如何运行单元测试.