从gradle命令行运行单个测试的java
我有一个多项目的gradle设置
RootProject
|
---- ProjectA
|
---- ProjectB
ProjectA
包含大约500个单元测试。其中3人在一门课上不及格MyClass
每次我这样做:
./gradlew :ProjectA:test
它运行所有500个单元测试
我试图在MyClass
内运行一个失败的测试,或者至少只运行MyClass
中包含的测试,以减少构建时间
我试过:
./gradlew -D:MyProject:test.single=MyClass --no-rebuild :MyProject:test
然而,它仍在继续运行所有测试
试着这么做有效
./gradlew :MyProject:test --tests '*MyClass*'
但是仍然需要很多时间,因为似乎要分析每个测试类的名称以找到匹配的名称
努力
./gradlew :MyProject:test --tests "com.mypackage1.mypackage2.MyClass.testMethod1"
抛出以下错误:
> No tests found for given includes: [**/*SomeTest.class](exclude rules) [com.mypackage1.mypackage2.MyClass.testMethod1](--tests filter)
我错过了什么?我做错了什么
这似乎是一个简单的用例,应该很容易做到
编辑1:
RootProject
构建。格雷德尔:
configure(subprojects.findAll {it.name != 'SomeProjToIgnore'}) {
test {
forkEvery 1
//Exclude tests
exclude '**/*SomeTest.class'
}
}
编辑2:
./gradlew :MyProject:test --tests 'MyClass*'
速度要快得多。(注意从前面删除了“*”。但我仍然不知道如何在MyClass
内运行单个测试
共 (0) 个答案