Java 构建JAR的代码覆盖率
是否能够为属于我的类路径的JAR文件生成代码覆盖率报告Java 构建JAR的代码覆盖率,java,code-coverage,jacoco,Java,Code Coverage,Jacoco,是否能够为属于我的类路径的JAR文件生成代码覆盖率报告 jar已经编译并作为库添加到Gradle项目中 jar的测试代码存储在项目中。我认为您可以定制如下解决方案: 你做你的“覆盖率数据收集” 你知道结果;例如,转换为CSV数据 您只需编写一小段代码,就可以获取任何JAR归档的所有类/包的名称 然后,您只需从使用步骤3生成的CSV文件中提取这些行 鉴于你的评论:看来你不明白“覆盖范围”为你做了什么。关键是:启动一个JVM;JVM运行一些代码。在这样做的同时,收集关于使用哪些类/方法、采用的路径等
jar
已经编译并作为库添加到Gradle项目中
jar
的测试代码存储在项目中。我认为您可以定制如下解决方案:
- 你驱动JVM运行东西
- 覆盖范围框架记录了所采用的代码路径
这是一个非标准工作流,可能无法在Ant/Maven中轻松配置,但您可以通过编程方式进行配置,请参见和抱歉,可能问题还不够清楚。我可以为已编译的jar创建覆盖率报告吗?@Andriabramov yes youcan@GhostCat,谢谢,绝对是赞成票。但toongeorges的回答更详细,更具说服力完全适用于我的情况。不客气;事实上,我同意,他的答案更好;-)在JaCoCo的情况下,您不需要解包和工具类文件-JaCoCo代理()运行中的instruments类。Cobertura版本2.1.1和2.1.0不适用于java 1.8版本。执行Cobertura-instrument.bat文件时会出现错误@RaviJoshi谢谢,我删除了对Cobertura的引用。Cobertura的开发似乎没有JaCoCo那么积极,而且确实在java 8()方面存在问题。