代码覆盖率导致以下问题

时间:2019-07-09 13:11:08

标签: java unit-testing testing junit eclemma

我正在尝试为我的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

2 个答案:

答案 0 :(得分:1)

一个非常简单和绝对的替代方案,他们正在尝试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")
}}

请按照以下步骤操作:

  1. 清理您的gradle:    摇篮清洁
  2. 运行您的测试文件:    gradle test --info --tests .Test.java
  3. 现在为您的代码覆盖率生成报告:    gradle jacocoTestReport

这就是您所需要的。 现在转到build-> jacocoHTML-> index.html

享受..

答案 1 :(得分:0)

尝试在Eclipse中使用Alt + F5进行Maven更新,然后运行以下命令:

MVN全新安装-DskipTests

希望有帮助。