TestNg

在TestNG中,我们可以使用以下注释来执行测试类的配置,如设置/清理数据库,准备虚拟数据,部署/关闭服务器等。

  • @BeforeSuite - 表示此注解的方法会在当前测试集合中的任一测试用例开始运行前执行(只执行一次)。
  • @AfterSuite - 表示此注解的方法会在当前测试集合中的所有测试程序结束之后运行。
  • @BeforeTest - 表示此注解的方法会在当前标签内的任一测试用例开始运行前执行之前运行。
  • @AfterTest - 表示此注解的方法会在当前标签内的所有测试方法都已运行之后运行。
  • @BeforeGroups:表示此注解的方法会在分组测试用例的任一测试用例开始之前执行。
  • @AfterGroups:在调用属于组的所有测试方法之后运行。
  • @BeforeClass- 表示此注解的方法会在当前测试类的任一测试用例开始之前执行。
  • @AfterClass - 运行当前类中的所有测试方法之后都运行。
  • @BeforeMethod - 在每个测试方法之前运行。
  • @AfterMethod - 在每个测试方法之后运行。
public class TestConfig {
    String name;

    @BeforeSuite
    public void beforeSuit(){
        name = "My name is test";
        System.out.println("@BeforeSuite");
    }

    @AfterSuite
    public void afterSuit(){
        System.out.println("@AfterSuite");
    }

    @BeforeTest
    public void beforeTest(){
        System.out.println("@BeforeTest");
    }

    @AfterTest
    public void afterTest(){
        System.out.println("@AfterTest");
    }

    @BeforeGroups
    public void beforeGroups(){
        System.out.println("@BeforeGroups");
    }

    @AfterGroups
    public void afterGroups(){
        System.out.println("@AfterGroups");
    }

    @BeforeClass
    public void beforeClass(){
        System.out.println("@BeforeClass");
    }

    @AfterClass
    public void afterClass(){
        System.out.println("@AfterClass");
    }

    @BeforeMethod
    public void beforeMethod(){
        System.out.println("@BeforeMethod");
    }

    @AfterMethod
    public void afterMethod(){
        System.out.println("@AfterMethod");
    }
}

public class Test1 extends TestConfig {

    @Test
    public void runOtherTest1(){
        System.out.println(name);
        System.out.println("Test1----runOtherTest1");
    }

//    @Test(expectedExceptions = ArithmeticException.class)
//    public void runOtherTest1(){
//        System.out.println("Test1----runOtherTest1");
//        int i = 1 / 0;
//        System.out.println("After division the value of i is :"+ i);
//    }

     @Test(enabled = false)
    public void runOtherTest2(){
        System.out.println(name);
        System.out.println("Test1----runOtherTest2");
    }
}
public class Test2 extends TestConfig {

    @Test
    public void runOtherTest1(){
        System.out.println(name);
        System.out.println("Test2----runOtherTest1");
    }

    @Test
    public void runOtherTest2(){
        System.out.println(name);
        System.out.println("Test2----runOtherTest2");
    }
}
<suite name="TestAll">
    <test name="case1">
        <classes>
            <class name="com.myl.testng.Test1">class>
            <class name="com.myl.testng.Test2">class>
        classes>
    test>





suite>

参考:
https://www.yiibai.com/testng

你可能感兴趣的:(单元测试,java)