首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试覆盖率在IntelliJ中不起作用

测试覆盖率在IntelliJ中不起作用
EN

Stack Overflow用户
提问于 2019-09-01 01:43:13
回答 2查看 4.7K关注 0票数 6

在运行覆盖范围的应用程序时,没有显示覆盖率。我发现我的日志与工作机器日志的不同之处在于我的控制台日志中没有记录coverage-agent.jar。有人知道解决办法吗?

我正在运行Intellij IDEA终极2019.2.1和JDK版本1.8.221。我尝试了所有选项,比如卸载IntelliJ,在社区版本上尝试,降级到更低的版本,将JDK版本更改为更高的9和更低的1.8.211,检查插件,也删除Intellij文件夹,但它们都没有工作。我联系到了IntelliJ支持小组,他们还建议删除IntelliJ设置文件夹,但这是行不通的。

下面是在覆盖模式下运行的日志。这里我们没有看到复盖-代理jar调用日志。

代码语言:javascript
复制
"C:\Program Files\Java\jdk1.8.0_221\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Users\<User> Baskota\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\lib\idea_rt.jar=52886:C:\Users\<User> Baskota\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\<User> Baskota\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\lib\idea_rt.jar;C:\Users\<User> Baskota\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\plugins\junit\lib\junit-rt.jar;C:\Users\<User> Baskota\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\plugins\junit\lib\junit5-rt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jaccess.jar;C:\Program 

这是同一个项目的控制台日志,运行在具有相同IntelliJ IDEA版本和JDK版本的不同机器上。这里的覆盖率很好,日志有覆盖-代理jar调用日志。

代码语言:javascript
复制
"C:\Program Files\Java\jdk1.8\bin\java.exe" -ea -javaagent:C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\lib\intellij-coverage-agent-1.0.508.jar=C:\Users\<User>\AppData\Local\Temp\coverage1args -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\lib\idea_rt.jar=63530:C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\bin -Dfile.encoding=UTF-8 -classpath "C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\lib\idea_rt.jar;C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\plugins\junit\lib\junit-rt.jar;C:\Users\<User>\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6262.58\plugins\junit\lib\junit5-rt.jar;C:\Program Files\Java\jdk1.8\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8\jre\lib\ext\jaccess.jar;C:\Program 

有没有人面临过这种奇怪的问题?我的报道直到几天前才见效。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-01 04:08:27

如果覆盖库的路径包含空格,则代码覆盖率可能无法工作。您可以通过idea.log中的下面一行来告诉它

代码语言:javascript
复制
2019-08-31 19:30:17,148 [ 130152]   INFO - ij.execution.JavaExecutionUtil - agent not used since the agent path contains spaces: C:\Users\Some User Name With Spaces\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\192.6603.8\plugins\coverage\lib
One can move the agent libraries to a directory with no spaces in path and specify its path in idea.properties as java.test.agent.lib.path=<path> 

解决方法是将指定的lib目录复制到一些没有空格的新位置,例如c:\coverage-lib。然后在Help /编辑自定义属性中指定这个新位置:

代码语言:javascript
复制
java.test.agent.lib.path=c:/coverage-lib

您还需要将IDEA_HOME\lib\intellij-coverage-agent-1.0.508.jar (版本可能不同)复制到没有空格的相同位置。

重新启动IntelliJ想法。

票数 4
EN

Stack Overflow用户

发布于 2022-08-26 09:29:30

我也碰到了这个问题。对我来说,问题是我的测试类的包名与服务类的包名不匹配。帮我解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57742666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档