我的项目如下:
├───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测试任务时,它会从当前模块和我想要的模块运行所有测试。
答案 0 :(得分:1)
如果这是一个多项目,在root上运行test
将运行所有模块中的所有测试。
如果要在运行module1
测试时始终运行module2
测试,则可以依赖于测试任务。
build.gradle
中的
test.dependsOn(':module2:test')
这将在运行module1 test
任务之前运行module2 test
任务,如果运行root test
任务,将不再运行它们两次。
另外,您可以将dependsOn
放入任务中。
test{
dependsOn ':othermodule:test'
exclude '**/smth/**'
}
Gradle将负责运行测试类,您无需说出要运行的类。测试发现(取决于您的项目结构和sourceSets)将为您完成。