Gradle 6.0 + Junit5测试
Gradle 6.0 + Junit5测试
1. Gradle6.0环境下Junit5测试用例不执行
解决策略:
- 修改配置:Junit 5.7.0版本不支持
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.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)")
}
}
By Persistence, To Success

浙公网安备 33010602011771号