2017-03-06 7 views
0

方向が必要です。私はどこでも検索しましたが、テスト工場が別のテスト工場を呼び出すことができるかどうかには答えられませんでした。別のテストファクトリを呼び出すテストファクトリ

例:最初のテストファクトリが私にテストスイートを取得し、各スイートに対して、そのスイートのテストケースを取得する別のテストファクトリが呼び出されます。私は、ユースケースの後ろに目標を理解することはよく分からないが、何をやろうとしているが現在可能ではない(と私はそれが決して思う)

public class clsTestSuites{ 
    @Factory(dataProvider="dataSuites") 
    public Object[] createTestSuites(int id, String TestSuite) {   
     return new Object[] {new clsTestCases(id, TestSuite)};   
    } 

    @DataProvider(name="dataSuites") 
    public static Object[][] dataProviderForTestSuites() { 
     Object[][] dataArray = {{1, "Suite#1"},{2, "Suite#2"}}; 
     return dataArray; 
    } 
} 

public class clsTestCases{ 
    private int id; 
    private String TestSuite; 

    @Factory(dataProvider="dataCases") 
    clsTestCases(int id, String TestSuite){ 
    this.id = id; 
    this.TestSuite = TestSuite; 
    }  

    @DataProvider(name="dataCases") 
    public static Object[][] dataProviderForTestCases() { 
     Object[][] dataArray = {{1, "Case#1"},{2, "Case#2"}}; 
     return dataArray; 
    } 

    /*** i dont want to do this at present::: @Test (dataProvider="dataCases") ***/ 
    public void runTestCases(int id, String TestCase) { 
     System.out.println("Executing Test Case "+ TestCase); 
     assertTrue(true); 
    } 
} 

答えて

0

:ここ

は、サンプルコードです。

@Factoryは、クラスのインスタンスを作成する必要があるか(コンストラクタの場合)、インスタンスを自分で作成するか(メソッドの場合)をTestNGに説明する方法です。

インスタンスを自分で作成した場合、TestNGが余分な作業をすることは期待できません。

サンプルによれば、TestNGはclsTestCasesという4つのインスタンス:「Suite#1」、「Suite#2」、「Case#1」および「Case#2」を持つと想定されています。

+0

ありがとう@juherr。 –

+0

Test Factory-1が別のTest Factory-2を呼び出すことは不可能であると言っていますか?助言がありますか? –

関連する問題