Gradle / TestNG:如何在使用suiteXmlBuilder()时在build.gradle中指定testng include组?

时间:2014-09-10 20:57:19

标签: gradle testng

在build.gradle中,我为TestNG测试执行指定了以下配置。 我想要做的是:不要指定方法名称,而是要指定testng组和类。我需要为预期的执行顺序指定类。在包级别或只使用useTestNG()选项,执行顺序是不同的。请帮我解决这个问题。

test {
    useTestNG() {
        suiteXmlBuilder().suite(name: 'Suite-Browser Tests', parallel: 'instances') {
            test(name: 'Test-Browser Tests') {
                classes([:]) {
                    'class'(name: 'com.XXX.classname') {
                        methods([:]) {
                            include(name: 'testMethod1')
                            include(name: 'testMethod2')
                        }
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

修改如下以包括组:

   test{
        useTestNG()
                {

                    suiteXmlBuilder().suite(name: 'Suite-Browser Tests', parallel: 'instances') {
                        test(name: 'Test-Browser Tests') {
                            groups([:]) {
                                run([:]){
                                    include(name: 'regression')
                                }
                            }
                            classes([:]) {
                                'class'(name: 'com.XXX.classname') {
                                    methods([:]) {
                                        include(name: 'testMethod1')
                                        include(name: 'testMethod2')
                                    }
                                }
                            }
                        }
                    }

                }
}

但在此之后,超类中的@BeforeClass没有被执行。 此外,测试报告也显示了来自其他组的@Test方法(虽然没有执行@BeforeClass,但所有测试都失败了。)