Gradle 包括来自其他模块的测试
我的项目如下所示:Gradle 包括来自其他模块的测试,gradle,build.gradle,Gradle,Build.gradle,我的项目如下所示: ├───module1-test-cases │ └───src │ └───test │ └───groovy │ └───specs │ └───module1test └───module2-test-cases └───src └───test └───groovy └───specs
├───module1-test-cases
│ └───src
│ └───test
│ └───groovy
│ └───specs
│ └───module1test
└───module2-test-cases
└───src
└───test
└───groovy
└───specs
└───module2test
有很多不同的模块,每个模块都有自己的build.gradle文件,所以我可以为不同的模块运行测试
build.gradle示例
dependencies{
compile("org.codehaus.groovy:groovy-all:2.3.3")
compile project(":core")
compile("commons-codec:commons-codec:1.10")
testCompile("junit:junit:4.11")
testCompile project(":module2-test-cases")
}
test{
exclude '**/smth/**'
}
我希望包含来自其他模块的测试,因此当我运行gradle测试任务时,它将运行来自当前模块和我想要的模块的所有测试。如果这是一个多项目,则在根上运行
test
将运行所有模块中的所有测试
如果您想在运行module2
测试时始终运行module1
测试,您可以依赖测试任务
在模块1build.gradle
test.dependsOn(':module2:test')
这将在运行module1test
任务之前运行module2test
任务,如果运行roottest
任务,则任务将不会运行两次。
此外,您还可以将dependsOn
放入任务中
test{
dependsOn ':othermodule:test'
exclude '**/smth/**'
}
Gradle将负责运行测试类,您不需要说要运行哪些类。测试发现(取决于您的项目结构和源集)将为您完成此任务。如果至少有一个测试落在:模块2中:模块1中的测试目标测试任务根本没有启动。我可以同时运行它们吗?@sann05那么不管它们是否失败,你都想运行测试吗?这是在测试失败时中断构建的默认行为。