Gradle 不在 groovy 中运行单元测试

问题描述

我正在尝试在 groovy 中运行单元测试。测试类本身永远不会被调用

我的 build.gradle 如下:

apply plugin: 'groovy'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url 'https://repo.jenkins-ci.org/releases/' }
}

dependencies {
    implementation 'org.codehaus.groovy:groovy-all:3.0.7'
    testImplementation 'junit:junit:4.12'
    testImplementation "com.lesfurets:jenkins-pipeline-unit:1.3"
}

tasks.withType(Test) { 
  testLogging {
    exceptionFormat "full"
    events "started","skipped","passed","Failed"
    showStandardStreams true
  }
}

test {
    useJUnitPlatform()
    testLogging {
        events 'passed','skipped','Failed'
    }

    // delete old test reports
    dependsOn cleanTest

    // don't stop if tests fail
    ignoreFailures = true

    // minimize logging
    testLogging.maxGranularity = 0

    // show stdout from tests
    onOutput { 
        dest,event -> print event.message 
    }

    // show test results
    def results = []
    afterTest { desc,result ->
        println "${desc.className.split("\\.")[-1]}: " +
            "${desc.name}: ${result.resultType}"
    }
    afterSuite { desc,result ->
       if (desc.className) { results << result }
    }

    // show summary
    doLast {
        println "Tests: ${results.sum { it.testCount }}" +
            ",Failures: ${results.sum { it.FailedTestCount }}" +
            ",Errors: ${results.sum { it.exceptions.size() }}" + 
            ",Skipped: ${results.sum { it.skippedTestCount }}" 
    }
}

我的文件夹结构如下:

src
   ---main
     ---groovy
       ---<groovy class>
   ---test
      ---groovy
         ---testClass.groovy

当我运行 .gradlew test 时,我的控制台会显示

Task :test
Tests: null,Failures: null,Errors: null,Skipped: null

BUILD SUCCESSFUL in 5s
4 actionable tasks: 2 executed,2 up-to-date

尽管我在 groovy 中声明了一个测试类,但测试结果为空。

有人可以帮忙执行 gradle 测试吗。

解决方法

文件名和类名不同,因此没有被调用。一旦我给它正确的名字,它就开始工作了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...