我只是想到了一些我想做的小事,并且很好奇它是否有能力做到这一点。这纯粹是一种方便的语法糖之类的东西,几乎不是强制性的,但我认为可能在某个时候实现了一点便利。
我有一个方法位于 Junit 测试用例的辅助方法中的 2-3 层,该方法会引发检查异常。我知道如果这个异常被抛出,我想失败。但是,如果我只是调用 Fail() 我会丢失异常的堆栈跟踪以及允许异常传播所带来的其他便利
我知道“标准”方法是让方法抛出异常。但是,正如我所说,我已经深埋了一些方法,我怀疑这个方法将被许多未来的辅助方法调用。如果我在这个方法中抛出一个异常,我将不得不不断地向所有使用这个方法的方法添加一个 throw 子句,直接或间接地,这可能是相当多的方法。这显然是可行的,只是有点烦人;而且,至少在理论上,我可以掩盖抛出异常的情况,如果我的所有方法都已经抛出异常,我实际上想捕获它。
有没有一种方法可以告诉 JUnit 就像异常已经传播到顶层并失败一样,而不必让我的所有方法都抛出它?因此,JUnit 立即报告由于异常而导致的失败,以及堆栈跟踪和所有内容。本质上,我想要一个失败的方法来处理异常。
这样的东西是否存在,还是我必须简单地扔掉它?
附言。我知道我可以将它包装在 RuntimeException 中并重新抛出它,但我也不太喜欢这个选项。