[英]Test coverage not working in IntelliJ IDEA
運行具有覆蓋率的應用程序時,未顯示覆蓋率。 我發現我的日志與工作機器日志的區別是覆蓋代理。jar沒有記錄在我的控制台日志中。 有誰知道修復?
我正在運行 Intellij IDEA Ultimate 2019.2.1 和 JDK 版本 1.8.221。 我嘗試了所有選項,例如卸載 IntelliJ,也嘗試了社區版,降級到較低版本,將 JDK 版本更改為更高的 9 和更低的 1.8.211,檢查了插件,還刪除了 Intellij 設置文件夾,但它們都不起作用。 我聯系了 IntelliJ 支持團隊,他們還建議刪除 IntelliJ 設置文件夾,但這沒有用。
這是在覆蓋模式下運行時的日志。 在這里,我們看不到覆蓋代理 jar 調用日志。
"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 調用日志。
"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
有沒有人遇到過這種奇怪的問題? 我的報道一直有效,直到幾天前。
如果coverage庫的路徑包含空格,則代碼覆蓋率可能無效。 您可以通過idea.log中的以下行告訴它:
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
| 編輯自定義屬性指定此新位置:
java.test.agent.lib.path=c:/coverage-lib
您還需要將IDEA_HOME\\lib\\intellij-coverage-agent-1.0.508.jar
(版本可能不同)復制到沒有空格的相同位置。
重啟IntelliJ IDEA。
我也遇到了這個問題。 對我來說,問題是我的 package 測試名稱 class 與 package 服務名稱 ZA42F2ED4F8EBC66 修復這些以相互匹配為我解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.