gpt4 book ai didi

java - 测试将预期异常包装在 JUnit 测试方法中

转载 作者:行者123 更新时间:2023-12-01 11:21:49 28 4
gpt4 key购买 nike

我想测试是否在 JUnit 测试方法的某个部分中以 EOFException 作为异常原因引发了某个异常。

测试方法本身不应该抛出异常 - 只是它的特定部分。

我通过以下方式完成了它:

...
try {
MyClass.staticMethod();
} catch (MyException e) {
Assert.assertEquals(e.getCause().getClass(), EOFException.class);
}
...
// other asserts

我想知道这是否是这种情况下的最佳实践,或者有更好的方法来做到这一点,也许使用一些特定于异常的 JUnit 机制(我读到了 ExpectedException 但我知道它是为了处理抛出异常的测试方法)。

最佳答案

catch-exception 库的版本 2(当前处于开发模式)允许您使用 Lambda 表达式,因此您还可以使用静态方法调用。

catchException(() ->  MyClass.staticMethod());

assert caughtException() instanceof EOFException;

关于java - 测试将预期异常包装在 JUnit 测试方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137847/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com