Gradle 6.0 + Junit5测试

Gradle 6.0 + Junit5测试


1. Gradle6.0环境下Junit5测试用例不执行

解决策略:

  1. 修改配置:Junit 5.7.0版本不支持
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.1'
  1. 指定测试用例的执行平台为Junit
test {
    // Junit5必须指定测试用例执行平台为Junit
    useJUnitPlatform()
}

2. Gradle6.0环境下显示用例执行情况

简约版 - 解决策略:

test {
    afterSuite { desc, result ->
        if (!desc.parent)
            println("${result.resultType} " +
                    "(${result.testCount} tests, " +
                    "${result.successfulTestCount} successes, " +
                    "${result.failedTestCount} failures, " +
                    "${result.skippedTestCount} skipped)")
    }
}

详细测试用例版 - 解决策略:

test {
    afterTest { desc, result -> 
        logger.quiet "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
    }
}

3. Gradle6.0环境下测试用例标准输出

Gradle环境下测试用例执行过程中,标准输出默认不会显示,需要在测试任务中指定显示标准输出

testLogging {
        outputs.upToDateWhen {false}
        showStandardStreams = true
    }

4. 工程项目中测试任务环境全量配置

test {
    // Junit5必须指定测试用例执行平台为Junit
    useJUnitPlatform()

    testLogging {
        outputs.upToDateWhen {false}
        showStandardStreams = true
    }

    afterTest { desc, result ->
        logger.quiet "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
    }

    afterSuite { desc, result ->
        if (!desc.parent)
            println("${result.resultType} " +
                    "(${result.testCount} tests, " +
                    "${result.successfulTestCount} successes, " +
                    "${result.failedTestCount} failures, " +
                    "${result.skippedTestCount} skipped)")
    }
}
posted @ 2021-03-02 11:04  LinPerfei  阅读(477)  评论(0)    收藏  举报