2014-06-17 2 views
1

TestNg 6.8.8을 사용하고 있으며, 인스턴스별로 실행되도록 테스트를 받고 있습니다. 행운이별로 없습니다. 누군가 내가 잘못 가고있는 부분을 이해하도록 도와 줄 수 있습니까? 다음은 내 코드입니다.TestNg의 그룹 별 인스턴스가 예상대로 작동하지 않습니다.

<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); 
    } 

나는 결과가이 순서로 원하는 : 구글, 애플, 마이크로 소프트, 야후 또는 애플, 야후, 구글, 마이크로 소프트, 하지만 구글, 마이크로 소프트, 애플, 야후를 얻을.

+0

위로 부풀려 ... – user3325862

답변

0

실제로 언급 된 상황에서는 공장을 구현하지 않았습니다. @Factory 주석을 사용하여 클래스를 만들어야합니다. 그러면 팩토리 클래스가 테스트 클래스를 호출합니다. 이러한 모든 경우에 대해 그룹별로 인스턴스가 유효합니다. 자세한 내용은 testng 설명서를 참조하십시오. http://testng.org/doc/documentation-main.html#factories

+0

"공장"을 사용하는 경우 실행 순서는 임의로 dp – Stella

관련 문제