JBT*_*JBT 26 java unit-testing gradle
我的src/test/文件夹包括单元和功能测试.功能测试的类路径有单词cucumber,而单元测试没有.那么,我怎样才能运行单元测试呢?
非常感谢你.
PS:我知道使用"包含"逻辑来选择测试很容易.例如,要仅在我的情况下运行功能测试,我可以简单地使用它
./gradlew test -Dtest.single=cucumber/**/
但是,我不知道如何以简单的方式排除测试.
顺便说一下,我正在使用gradle 1.11.
JBT*_*JBT 32
图片来源:这个答案的灵感来自JB Nizet的回答.它被发布是因为它对我的问题更直接.
要仅运行单元测试,请创建一个新任务,如下所示:
task unitTest( type: Test ) {
exclude '**/cucumber/**'
}
Run Code Online (Sandbox Code Playgroud)
这样我们就有:
运行所有测试:./gradlew test
运行所有单元测试:./gradlew unitTest
运行所有功能测试:./gradlew test -Dtest.single=cucumber/**/
JB *_*zet 22
apply plugin: 'java' // adds 'test' task
test {
// ...
// explicitly include or exclude tests
include 'org/foo/**'
exclude 'org/boo/**'
// ...
}
Run Code Online (Sandbox Code Playgroud)
您可以根据外部系统属性来排除它。
-Dtest.profile=integration
Run Code Online (Sandbox Code Playgroud)
并在build.gradle中
test {
if (System.properties['test.profile'] != 'integration') {
exclude '**/*integrationTests*'
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以在您的中定义自定义标志build.gradle:
test {
if (project.hasProperty('excludeTests')) {
exclude project.property('excludeTests')
}
}
Run Code Online (Sandbox Code Playgroud)
然后在命令行中:
gradle test -PexcludeTests=com.test.TestToExclude
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34271 次 |
| 最近记录: |