指定组后,不会运行Gradle测试任务

时间:2014-10-06 17:28:20

标签: gradle testng

我正在设置一些测试。我在build.gradle文件中有以下条目:

integTest {
   useTestNG() {
   }
}

integTest2 (type: Test){
   useTestNG() {
      include 'Group2'
   }
}

在我的测试中,我有以下注释:

@Test (groups={"Group2"})
public void testMethod() {
  // Test code here

}

当我使用gradle运行第二个任务(integTest2)时,它只构建我的目录并且实际上没有选择要运行的任何测试(integTest正常工作运行所有测试,但我希望能够单独运行单独的套件。)

我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:1)

找出答案。我使用的是公司内部版本的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(',')
  }
}

答案 1 :(得分:0)

尝试将include 'Group2'更改为includeGroups 'Group2',如下所示:

integTest2 (type: Test) {
   useTestNG {
      includeGroups 'Group2'
   }
}