我正在尝试为我的 JUnit 测试类执行代码覆盖率分析,但它抛出以下错误:
我创建了两个单独的文件夹(主文件夹和测试文件夹)。
我无法创建干净的版本。
Class not found com.automationanywhere.botcommand.oexcelonline.commands.range.DeleteRangeTest
java.lang.ClassNotFoundException: com.automationanywhere.botcommand.oexcelonline.commands.range.DeleteRangeTest
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:773)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:502)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:525)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Class not found com.automationanywhere.botcommand.oexcelonline.commands.workbook.OpenWorkbookTest
最佳答案
一个非常简单和绝对的替代品,他们正在尝试 gradle 并想检查他们的代码覆盖率。
在执行下面提到的步骤之前, 只需在您的 build.gradle 文件中添加一些依赖项:
apply plugin: "jacoco"
jacoco {
toolVersion = "0.8.4"
reportsDir = file("$buildDir/")
}
tasks.withType(Test) { task -> jacoco { destinationFile =
file("$buildDir/reports/jacoco/${task.name}.exec") } }
jacocoTestReport {
reports {
html.enabled true
xml.enabled true
csv.enabled true
html.destination file("${buildDir}/jacocoHtml")
}}
按照以下步骤:
- 清理你的 gradle: 梯度清理
- 运行你的测试文件: gradle 测试 --info --tests .Test.java
- 现在为您的代码覆盖率生成报告: gradle jacoco测试报告
这就是您所需要的。 现在转到 build->jacocoHTML->index.html
享受..
关于java - 代码覆盖率导致以下问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56953389/