【发布时间】:2021-05-07 20:55:37
【问题描述】:
为了正确测试我的 Java 代码(包括意识到任何未处理的异常),我经常使用 setUncaughtExceptionHandler 作为我的工作线程,它拦截异常、发出一些噪音并调用 System.exit(1) 我注意到(在 Java 中,默认情况下,非主线程可以(!)在遇到异常时随时死亡——它们会默默地这样做,即不会关闭进程)。
我的问题是 JUnit5(带有 gradle)报告了一个以这种方式死亡的测试,因为“SKIPPED”又名 Ignored,而不是失败。令我惊讶的是,测试套件报告成功。谷歌搜索“使 junit 在 System.exit 上失败”没有帮助。我错过了什么?在这种情况下如何让 JUnit 失败?
【问题讨论】:
标签: unit-testing testing junit exit