有没有办法强制JUnit在任何未经检查的异常上失败,即使被吞下也是如此

Uri*_*Uri 6 java junit unit-testing swallowed-exceptions

我正在使用JUnit为没有单元测试的遗留代码编写一些更高级别的测试.

这些代码中的大部分"吞噬"了各种未经检查的异常,例如NullPointerExceptions(例如,仅通过打印堆栈跟踪并返回null).因此,即使在较低级代码中的各个点处存在级联灾难,单元测试也可以通过.

有没有办法让第一个未经检查的异常测试失败,即使它们被吞下了?

我能想到的唯一选择是编写一个自定义JUnit包装器,重定向System.err然后分析输出异常.

Nat*_*hes 4

如果您在 IDE 的调试器中执行测试,则可以将 IDE 配置为在引发异常时中断。