我正在设置一些测试。我的build.gradle
文件中包含以下条目:
integTest {
useTestNG() {
}
}
integTest2 (type: Test){
useTestNG() {
include 'Group2'
}
}
在我的测试中,我具有以下注释:
@Test (groups={"Group2"})
public void testMethod() {
// Test code here
}
当我使用gradle运行第二个任务(
integTest2
)时,它只会建立我的目录,实际上并没有拾取任何要运行的测试(integTest
可以正常运行并运行所有测试,但我也希望能够单独运行单独的套件)。有什么明显的我想念的吗?
最佳答案
找出答案。我使用的是公司内部版本的gradle,该版本仅将“integTest”识别为主要任务。因此,作为一种解决方法,我必须执行以下操作:
def allTestGroups = ['all', 'Group1', 'Group2']
def testGroup = project.hasProperty("testGroup") ? project.testGroup : 'all'
integTest {
useTestNG() {
includeGroups "${testGroup}"
excludeGroups allTestGroups.findAll { it != "${testGroup}" }.collect { "'${it}'" }.join(',')
}
}