e18*_*18r 5 java logging unit-testing gradle
在使用Gradle进行测试时,我想在控制台上显示标准流,只有当我使用该--tests选项运行特定的测试子集时.
让我详细说明一下.在build.gradle我
test {
testLogging {
//showStandardStreams = true
}
}
Run Code Online (Sandbox Code Playgroud)
通常,当我运行我的整个测试套件时,我不喜欢从测试中获得控制台输出.但是当我正在进行特定测试时,拥有控制台输出是非常有用的,所以我继续在执行该测试之前取消注释该行gradle test --tests *name.
我想知道是否有自动化方法.
编辑:让我澄清一下.我想在运行时输出控制台输出gradle test --tests *name,但不是在我跑的时候gradle test.
要在所有测试的某些运行中获取控制台输出,您可以在命令行上提供附加参数(-Poutput):
gradle test --tests *name -Poutput
test {
onOutput { descriptor, event ->
if (project.hasProperty('output')) {
logger.lifecycle(event.message)
}
}
}
Run Code Online (Sandbox Code Playgroud)
仅获取特定测试的控制台输出:
test {
onOutput { descriptor, event ->
if (descriptor.name=='YOUR_TEST_METHOD_NAME' &&
descriptor.className=='YOUR_PACKAGE_QUALIFIED_CLASS_NAME') {
logger.lifecycle(event.message)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |