Testng 当存在多个提供程序时,dataprovider中的所有对象都不会运行AfterClass

Testng 当存在多个提供程序时,dataprovider中的所有对象都不会运行AfterClass,testng,Testng,我的测试类中有多个数据提供程序 @Factory(dataProvider = "userModeDataProvider") public APIM678ApplicationCreationTestCase(TestUserMode userMode) { this.userMode = userMode; } @DataProvider public static Object[][] userModeDataProvider() { return new Object[

我的测试类中有多个数据提供程序

@Factory(dataProvider = "userModeDataProvider")
public APIM678ApplicationCreationTestCase(TestUserMode userMode) {
    this.userMode = userMode;
}

@DataProvider
public static Object[][] userModeDataProvider() {
    return new Object[][]{
            new Object[]{TestUserMode.TENANT_ADMIN},
            new Object[]{TestUserMode.SUPER_TENANT_ADMIN},
    };
}

@DataProvider(name = "createApplicationWithValidData")
public static Object[][] createAppWithValidDataProvider() throws Exception {

    return new Object[][]{
            {"NewApplication1", tier, callBackUrl, description},
            {"NewApplication2", tier, callBackUrl, ""},
            {"NewApplication3", tier, "", description},
            {"NewApplication4", tier, "", ""}
    };
}

@DataProvider(name = "createApplicationWithInValidData")
public static Object[][] createAppWithInValidDataProvider() throws Exception {
    return new Object[][]{
            {"", tier, "", ""},//name is empty
            {"NewApplication5", "", callBackUrl, description},
            {"", "", callBackUrl, description},
    };
}
BeforeClass正在为两个“userModeDataProvider”对象运行

BeforeClass正在为“userModeDataProvider”数据提供程序中的两个对象运行。(TestUserMode.TENANT\u ADMIN和TestUserMode.SUPER\u TENANT\u ADMIN)。但是after类只为该数据提供程序中的第一个对象运行(TestUserMode.TENANT\u ADMIN


可能的原因是什么?

您应该分享一个更完整的示例:添加
@Test
方法和
@BeforeClass
方法。您应该分享一个更完整的示例:添加
@Test
方法和
@BeforeClass
方法。