我只是删除了没有用的java类文件。在intellij中构建了包之后,Jacoco测试报告也显示了删除的java类。作为参考,我附上了sceenshot。
Jacoco报告显示已删除的Java类以进行测试
•
问答
slxy2009 回答:Jacoco报告显示已删除的Java类以进行测试
针对正在使用的任何构建工具(ant,maven,gradle)运行clean
命令。
如果仅偶尔运行jacocoTestReport
,则可能要为其添加一个对clean
的依赖,以确保它始终在生成报告之前发生。
当我在类上更改程序包名称并且旧程序包仍在报告中时,我注意到了同样的问题。
发生的事情是,所创建的报告只是一堆文件,这些文件遵循项目中文件的命名和打包约定。因此,即使您删除了Java文件并重新运行jacocoTestReport
,上一次运行jacocoTestReport
的文件仍位于该报告文件夹中。如果您在文件夹中查找,则会发现报告文件中已删除类的时间戳早于其周围的时间戳。它只需要clean
,这样您的下一次运行将只包含与当前报告相关的文件。
我认为可以更改jacocoTestReport
写入报告文件的位置,并且如果选择除构建目录之外的其他位置,则还需要更新clean
任务以清理该区域。
今天我也发生了同样的事情。这是由于:
- 签出到其中删除了maven模块的git分支
- 相应的文件夹仍在此处,但由于git仅包含被忽略的文件(例如
.class
中的target/
个文件)而被git忽略 -
mvn clean
没有清除这些文件,因为相应的模块已从pom.xml
中删除 - Jacoco仍然找到了旧的编译类,因为它查找
**/classes
和**/**.exec
,而不关心.gitignore
或pom.xml
。
删除后,删除旧文件,Jacoco报告的覆盖范围已更改。
我用git clean -f -d --dry-run
查找旧文件夹,并用git clean -f -d
删除了它们。请小心使用此命令!