java - 使用 JUnit 4 注释测试多个异常

标签 java junit exception

是否可以在单个 JUnit 单元测试中测试多个异常?我知道一个可以使用的异常(exception),例如

    @Test(expected=IllegalStateException.class)

现在,如果我想测试另一个异常(比如 NullPointerException),可以在同一个注解中完成,还是在不同的注解中完成,还是我需要完全编写另一个单元测试?

最佳答案

你真的希望测试做一件事,并为此进行测试。如果您不确定要抛出哪个异常,那听起来对我来说不是一个好的测试。

例如(伪代码)

try {
   badOperation();
   /// looks like we succeeded. Not good! Fail the test
   fail();
}
catch (ExpectedException e) {
   // that's fine
}
catch (UnexpectedException e) {
   // that's NOT fine. Fail the test
}

因此,如果您想测试您的方法是否会引发 2 个不同的异常(针对 2 组输入),那么您将需要 2 个测试。

关于java - 使用 JUnit 4 注释测试多个异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410172/

相关文章:

java - 是否有与 @Assisted 等效的 javax.inject.*

java - 如何解决 Junit for spring + mule ESB 项目的 clearCache() 方法的 java.lang.NoSuchMethodError

java - Eclipse 中的异常断点 - 如何检查异常对象?

java - PaintComponent 显示问题

java - 生成 axis2 webservice 客户端 jar

java - 带有示例的 cucumber 场景大纲 : Failed to create scenario runner

java - 使用 Jmockit 对 Spring MVC Controller 进行单元测试

.net - SplitContainer ISupportInitialize 问题 : VS2010 Targeting . NET 3.5

c++ - 移动构造函数和强异常保证

java - 扫描具有未指定文件名的非 txt 文件