Testng 测试工厂呼叫另一个测试工厂

Testng 测试工厂呼叫另一个测试工厂,testng,Testng,我需要一个方向。我到处都找遍了,但找不到一家测试工厂是否可以打电话给另一家测试工厂的答案 示例:第一个测试工厂向我提供测试套件,对于每个套件,调用另一个测试工厂,它将获取该套件的测试用例 下面是一个示例代码: public class clsTestSuites{ @Factory(dataProvider="dataSuites") public Object[] createTestSuites(int id, String TestSuite) {

我需要一个方向。我到处都找遍了,但找不到一家测试工厂是否可以打电话给另一家测试工厂的答案

示例:第一个测试工厂向我提供测试套件,对于每个套件,调用另一个测试工厂,它将获取该套件的测试用例

下面是一个示例代码:

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

我不确定是否理解用例背后的目标,但您正在尝试做的事情目前是不可能的(我认为永远不会)

@Factory
是一种向TestNG解释它应该如何创建类实例的方法(当在构造函数上时),或者它允许您自己创建实例(当在方法上时)

如果您自己创建实例,那么就不能指望TestNG会做额外的事情


根据您的示例,TestNG应该有4个
clsTestCases
:Suite#1”、“Suite#2”、“Case#1”和“Case#2”

那么您是说Test Factory-1不可能调用另一个Test Factory-2吗。有什么建议吗?