首页 > 解决方案 > @AfterClass 在 TestNG 中执行类后不会立即调用

问题描述

我有 2 个测试类,每个包含大约 3 个测试。第三个测试用例取决于第二个测试用例,第二个测试用例取决于每个类中的第一个测试用例。

第一类:

public class MyTest1 extends BaseCase{
    @Test
    public void Test1(){
    System.out.println("Test1");
    }

    @Test(dependsOnMethods = "Test1")
    public void Test2(){
    System.out.println("Test2");
    }

    @Test(dependsOnMethods = "Test2")
    public void Test3(){
    System.out.println("Test3");
    }
}

类2:

public class MyTest2 extends BaseCase{
    @Test
        public void Test1(){
        System.out.println("Test1");
        }

        @Test(dependsOnMethods = "Test1")
        public void Test2(){
        System.out.println("Test2");
        }

        @Test(dependsOnMethods = "Test2")
        public void Test3(){
        System.out.println("Test3");
        }
}

我在 BaseCase 类中编写了 @BeforeClass 和 @AfterClass。当我从 testng.xml 文件运行测试用例时,在执行两个类后会调用 @AfterClass。但是,@BeforeClass 工作正常。

每节课完成后我必须执行@AfterClass。

如果您对此有任何想法,请告诉我。

测试.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestCases">
    <parameter name="browserName" value="firefox"></parameter>
    <parameter name="environment" value="qa"></parameter>
    <test name="BulkUserImport">
        <classes>
            <class name="com.MyTest1"></class>
            <class
                name="com.MyTest2"></class>
        </classes>
    </test>
</suite>

标签: seleniumselenium-webdrivertestngtestng-eclipse

解决方案


推荐阅读