TestNg的逐个实例未按预期工作

时间:2014-06-17 19:36:09

标签: testng

我正在使用TestNg 6.8.8,并且一直试图让每个实例执行测试,运气不佳。请有人帮我理解我哪里出错了。以下是我的代码。

<suite name="ExtendFactory" order-by-instances="true">
    <test name="Factory"  order-by-instances="true" preserve-order="false">
        <classes>
            <class name="com.test.SampleTest">

            </class>
        </classes>
    </test>
</suite>

public class Sample {

    @DataProvider(name = "test1")
    public static Object[][] createData1() {
        return new Object[][] {
                { "Google" },
                { "Microsoft"},
        };
    }

    @DataProvider(name = "test2")
    public static Object[][] createData2() {
        return new Object[][] {
                { "Apple"},
                { "Yahoo"},
        };
    }
}

public class SampleTest {
    @Test(dataProvider = "test1",dataProviderClass = Sample.class)
    public void verifyData1(String n1) {
        System.out.println(n1);
    }

    @Test(dataProvider = "test2", dependsOnMethods="verifyData1",dataProviderClass = Sample.class)
    public void verifyData2(String n1) {
        System.out.println(n1);
    }

我希望结果按此顺序排列:谷歌,苹果,微软,雅虎或苹果,雅虎,谷歌,微软, 但我得到谷歌,微软,苹果,雅虎。

1 个答案:

答案 0 :(得分:0)

在上述情况下,您实际上没有实施工厂。您必须使用@Factory注释创建一个类,然后工厂类将调用您的测试类。对于所有这些情况,逐个实例都是有效的。有关更多参考,请参阅testng文档http://testng.org/doc/documentation-main.html#factories