java - 测试中未抛出 NullPointerExceptions

标签 java unit-testing nullpointerexception

我刚刚将 EclEmma 安装到我的 Eclipse 设置中,并针对测试套件运行它,以查看其目标方法的代码覆盖率。

我发现抛出新的 NullPointerException 的任何行都没有被覆盖,尽管在测试中断言调用该方法时将抛出该异常。我发现这些测试通过了!

示例如下:

public static boolean isXMLFile(File f) {

   if(f==null) {
     throw new NullPointerException("isXMLFile: Input File must not be null");
   }
}

我发现当我在 jUnit 测试中使用 isXMLFile(null) 调用上述代码时,我得到了我想要的 NPE,但我不认为它来 self 认为的地方是的!

我错过了一些关于运行时异常的非常基本的东西,不是吗?

最佳答案

如果您转储异常的堆栈跟踪,您将确切地看到它来自哪里。

也就是说——您可能不想抛出空指针异常,您可能想抛出非法参数异常。

关于java - 测试中未抛出 NullPointerExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135552/

相关文章:

java - token ";"出现语法错误...为什么?

java - 为什么 java.class.path 属性总是返回 jar 的位置?

java - 可配置资源 - 设计模式

angular - 如何在 Jasmine 中监视或模拟 Angular @Input?

unit-testing - Grails 测试应用程序类路径

python - 我什么时候应该使用 setUpClass 什么时候使用 __init__?

java - 为什么我的数组会出现 NullPointer 异常?

Java - GUI (swing) - 空指针异常

java - 将 JSON 解析为自定义 ArrayList,只返回最后一项?

java - NullPointerExceptions 在停止发生后会导致 Tomcat 性能问题吗?