java - 没有运行测试的代码覆盖率报告

标签 java unit-testing testing code-coverage emma

<分区>

我想在不运行单元测试的情况下创建报告。我只想分析测试源代码并检查调用了哪些方法。在我的测试中,我使用 JUnit、Arquillian。我在外部服务器上运行它们,但在使用 arquillian-jacoco 扩展时遇到了问题。检测应用程序无法正常启动后。有没有提供这种功能的工具?

最佳答案

代码覆盖率 不仅仅是调用了哪些方法。它更深入一层,检查在测试用例期间覆盖(实际执行)了方法中的哪些行。

因此,这不仅仅是简单地调用一个方法作为代码的一部分,更多的是关于是否有任何执行流程实际调用了该方法。而且,执行流程主要取决于测试用例输入。因此,除非您运行它们,否则代码覆盖工具在这里几乎毫 headless 绪。

假设,您有一些代码,例如

if (size > 0) {
    this.array = new Integer[size];
} else {
    String msg = "Input size must be > 0";
    logAndThrow(msg, new IllegalArgumentException(msg));
}

现在,您实际上是在说对待 logAndThrow()如前所述,当然不是这种情况,除非你有一些用 size <= 0 测试此类的测试用例。 .

关于java - 没有运行测试的代码覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17314100/

相关文章:

javascript - 如何在 Angular 中对组件进行单元测试?

python - 通过单元测试避免不必要的导入

ruby-on-rails-3 - 为 json View 编写测试用例的最佳方式? (即网络服务)

java - 无法使用 AM/PM 标记解析日期时间字符串

javascript - 测试 javascript 代码是否存在跨浏览器问题

docker - 在 Jenkins 中将 testcafe 设置为 docker 代理时,KeyPress 似乎不起作用

php - 如何在php中实现自动功能测试

Java标签定时器和保存

java - 如何在java中使用lambda表达式添加Map

java - 用 Java 计算矩阵的零空间基