Netbeans 8.1 中缺少测试覆盖率?
Test coverage missing in Netbeans 8.1?
我最近下载了 Netbeans 8.1 here
我选择了第二个选项:"Java EE"。
但我找不到如何运行 测试我的单元测试的覆盖率。我有这个菜单:
这是一个 Maven Web 应用程序。
当我转到 工具 -> 插件 并搜索 "coverage",我有这个:
我安装了它并重新启动了 IDE,我看到它正在安装插件,但我的菜单没有任何变化。如果我在 Installed plugins 中搜索 "coverage",除了我刚刚安装的那个,什么都没有显示...我认为 Netbeans 有它实施了吗?我还认为 Netbeans 也有 Maven 测试覆盖率......
我读到我安装的插件 (TikiOne JaCoCoverage) 只是现有 Netbeans 测试覆盖率的扩展.. 所以这可以解释为什么我看不到它.
如何启用测试覆盖率?
谢谢。
不幸的是,这几乎没有记录,但对我来说,当我手动添加 JaCoCo Maven 插件时,菜单条目出现了:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules><!-- implementation is needed only for Maven 2 -->
<rule implementation="org.jacoco.maven.RuleConfiguration">
<element>BUNDLE</element>
<limits><!-- implementation is needed only for Maven 2 -->
<limit implementation="org.jacoco.report.check.Limit">
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>0.01</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
maven 目标verify
运行覆盖率报告。您还将获得官方文档中提到的 window 覆盖范围。
不幸的是,插件或集成似乎有点问题,因为您可以 运行 测试并在测试结果 NB window 中查看其结果,或者查看覆盖率...似乎是 运行ning 测试的两种方式,我还没有找到同时进行这两种测试的方法。
您应该将 JaCoCo 插件添加到 pom.xml 文件的 <plugins>
部分。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
生成项目后,右键单击项目时会出现 代码覆盖率 菜单项。
最后,您可以从菜单中select 显示报告。一切都描述 here.
请记住,在安装插件并在 pom 中添加此信息后,右键单击包时您可能会看到选项代码覆盖率。
但是,正如 javaeeeee 的回答所说,您应该再次构建您的项目以查看实际覆盖率。
我最近下载了 Netbeans 8.1 here
我选择了第二个选项:"Java EE"。
但我找不到如何运行 测试我的单元测试的覆盖率。我有这个菜单:
这是一个 Maven Web 应用程序。
当我转到 工具 -> 插件 并搜索 "coverage",我有这个:
我安装了它并重新启动了 IDE,我看到它正在安装插件,但我的菜单没有任何变化。如果我在 Installed plugins 中搜索 "coverage",除了我刚刚安装的那个,什么都没有显示...我认为 Netbeans 有它实施了吗?我还认为 Netbeans 也有 Maven 测试覆盖率......
我读到我安装的插件 (TikiOne JaCoCoverage) 只是现有 Netbeans 测试覆盖率的扩展.. 所以这可以解释为什么我看不到它.
如何启用测试覆盖率?
谢谢。
不幸的是,这几乎没有记录,但对我来说,当我手动添加 JaCoCo Maven 插件时,菜单条目出现了:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules><!-- implementation is needed only for Maven 2 -->
<rule implementation="org.jacoco.maven.RuleConfiguration">
<element>BUNDLE</element>
<limits><!-- implementation is needed only for Maven 2 -->
<limit implementation="org.jacoco.report.check.Limit">
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>0.01</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
maven 目标verify
运行覆盖率报告。您还将获得官方文档中提到的 window 覆盖范围。
不幸的是,插件或集成似乎有点问题,因为您可以 运行 测试并在测试结果 NB window 中查看其结果,或者查看覆盖率...似乎是 运行ning 测试的两种方式,我还没有找到同时进行这两种测试的方法。
您应该将 JaCoCo 插件添加到 pom.xml 文件的 <plugins>
部分。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
生成项目后,右键单击项目时会出现 代码覆盖率 菜单项。
最后,您可以从菜单中select 显示报告。一切都描述 here.
请记住,在安装插件并在 pom 中添加此信息后,右键单击包时您可能会看到选项代码覆盖率。 但是,正如 javaeeeee 的回答所说,您应该再次构建您的项目以查看实际覆盖率。