Cobertura 如何与 JUnit 一起工作?
How does Cobertura work with JUnit?
我看不懂Cobertura是怎么和JUnit合作的。据我了解,cobertura 修改编译后的字节码并在此字节码中插入它自己的命令。行。之后我们 运行 Junit 框架并将我们的测试交给 运行。有谁能解释一下 cobertura 在什么时候获得了执行了哪些命令的信息?
Cobertura 使用 ASM,这是一个通用的字节码操作和分析框架。在 java 代码的每一行中,现有的 类 代码中添加了 3 行,用于计算它生成的报告的内容。当 Cobertura 包含在您的类路径中并正确配置并且您执行单元测试时,它将生成一个名为 cobertura.ser 的数据文件,用于生成 xml 或 html 报告。
基本用法:使用 Maven:http://www.mojohaus.org/cobertura-maven-plugin/usage.html
Cobertura 通过使用额外的语句检测字节码来监控测试,以记录在测试套件执行时哪些行已到达和未到达。
Cobertura 通过测试的行数和测试的分支数来计算覆盖率。对于第一次通过,这两者之间的区别并不是非常重要。 Cobertura 还计算了 class.
的平均 McCabe 圈复杂度
如果使用 Maven,这可以在 POM 中配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
如果使用 ANT,可以使用 build.xml 文件中的 taskdef
语句进行配置:
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
ant-cobertura 集成的参考可以在以下位置找到
https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference
我看不懂Cobertura是怎么和JUnit合作的。据我了解,cobertura 修改编译后的字节码并在此字节码中插入它自己的命令。行。之后我们 运行 Junit 框架并将我们的测试交给 运行。有谁能解释一下 cobertura 在什么时候获得了执行了哪些命令的信息?
Cobertura 使用 ASM,这是一个通用的字节码操作和分析框架。在 java 代码的每一行中,现有的 类 代码中添加了 3 行,用于计算它生成的报告的内容。当 Cobertura 包含在您的类路径中并正确配置并且您执行单元测试时,它将生成一个名为 cobertura.ser 的数据文件,用于生成 xml 或 html 报告。
基本用法:使用 Maven:http://www.mojohaus.org/cobertura-maven-plugin/usage.html
Cobertura 通过使用额外的语句检测字节码来监控测试,以记录在测试套件执行时哪些行已到达和未到达。
Cobertura 通过测试的行数和测试的分支数来计算覆盖率。对于第一次通过,这两者之间的区别并不是非常重要。 Cobertura 还计算了 class.
的平均 McCabe 圈复杂度如果使用 Maven,这可以在 POM 中配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
如果使用 ANT,可以使用 build.xml 文件中的 taskdef
语句进行配置:
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
ant-cobertura 集成的参考可以在以下位置找到 https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference