我正在设置一些测试。我的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(',')
  }
}

10-06 09:34