Before类别和After类别注解

三、TestNG的基本注解(1)_TestNG

 

举例说明

创建两个TestNGAnnotationTest.java和TestNGAnnotationTest2.java的类

TestNGAnnotationTest.java

package com.lc.testngTest;import org.testng.annotations.AfterClass;import org.testng.annotations.AfterMethod;import org.testng.annotations.AfterSuite;import org.testng.annotations.AfterTest;import org.testng.annotations.BeforeClass;import org.testng.annotations.BeforeMethod;import org.testng.annotations.BeforeSuite;import org.testng.annotations.BeforeTest;import org.testng.annotations.Test;public class TestNGAnnotationTest {

 

    @BeforeSuite    public void beforeSuite() {

        System.out.println(this.getClass().getName() + " beforeSuite");

    }

 

    @AfterSuite    public void afterSuite() {

        System.out.println(this.getClass().getName() + " afterSuite");

    }

 

    @BeforeTest    public void beforeTest() {

        System.out.println(this.getClass().getName() + " beforeTest");

    }

 

    @AfterTest    public void afterTest() {

        System.out.println(this.getClass().getName() + " afterTest");

    }

 

    @BeforeClass    public void beforeClass() {

        System.out.println(this.getClass().getName() + " beforeClass");

    }

 

    @AfterClass    public void afterClass() {

        System.out.println(this.getClass().getName() + " afterClass");

    }

 

    @BeforeMethod    public void beofreMethod() {

        System.out.println(this.getClass().getName() + " beforeMethod");

    }

 

    @AfterMethod    public void afterMethod() {

        System.out.println(this.getClass().getName() + " afterMethod");

    }

 

    @Test    public void test1() {

        System.out.println(this.getClass().getName() + " test1");

    }

 

    @Test    public void test2() {

        System.out.println(this.getClass().getName() + " test2");

    }

 

}

TestNGAnnotationTest2.java

package com.lc.testngTest;import org.testng.annotations.AfterClass;import org.testng.annotations.AfterMethod;import org.testng.annotations.AfterSuite;import org.testng.annotations.AfterTest;import org.testng.annotations.BeforeClass;import org.testng.annotations.BeforeMethod;import org.testng.annotations.BeforeSuite;import org.testng.annotations.BeforeTest;import org.testng.annotations.Test;public class TestNGAnnotationTest2 {

 

    @BeforeSuite    public void beforeSuite() {

        System.out.println(this.getClass().getName() + " beforeSuite");

    }

    @AfterSuite    public void afterSuite() {

        System.out.println(this.getClass().getName() + " afterSuite");

    }

    @BeforeTest    public void beforeTest() {

        System.out.println(this.getClass().getName() + " beforeTest");

    }

    @AfterTest    public void afterTest() {

        System.out.println(this.getClass().getName() + " afterTest");

    }

    @BeforeClass    public void beforeClass() {

        System.out.println(this.getClass().getName() + " beforeClass");

    }

    @AfterClass    public void afterClass() {

        System.out.println(this.getClass().getName() + " afterClass");

    }

    @BeforeMethod    public void beofreMethod() {

        System.out.println(this.getClass().getName() + " beforeMethod");

    }

    @AfterMethod    public void afterMethod() {

        System.out.println(this.getClass().getName() + " afterMethod");

    }

    @Test    public void test1() {

        System.out.println(this.getClass().getName() + " test1");

    }

    @Test    public void test2() {

        System.out.println(this.getClass().getName() + " test2");

    }

}

创建运行项目的xml文件

testng2.xml

<class name="com.lc.testngTest.TestNGAnnotationTest">class>
            <class name="com.lc.testngTest.TestNGAnnotationTest2">class>

运行结果

[TestNG] Running:
  D:\workspace\webTestNG\WebContent\testng2.xml

com.lc.testngTest.TestNGAnnotationTest beforeSuite
com.lc.testngTest.TestNGAnnotationTest2 beforeSuite
com.lc.testngTest.TestNGAnnotationTest beforeTestcom.lc.testngTest.TestNGAnnotationTest2 beforeTestcom.lc.testngTest.TestNGAnnotationTest beforeClass
com.lc.testngTest.TestNGAnnotationTest beforeMethod
com.lc.testngTest.TestNGAnnotationTest test1
com.lc.testngTest.TestNGAnnotationTest afterMethod
com.lc.testngTest.TestNGAnnotationTest beforeMethod
com.lc.testngTest.TestNGAnnotationTest test2
com.lc.testngTest.TestNGAnnotationTest afterMethod
com.lc.testngTest.TestNGAnnotationTest afterClass
com.lc.testngTest.TestNGAnnotationTest2 beforeClass
com.lc.testngTest.TestNGAnnotationTest2 beforeMethod
com.lc.testngTest.TestNGAnnotationTest2 test1
com.lc.testngTest.TestNGAnnotationTest2 afterMethod
com.lc.testngTest.TestNGAnnotationTest2 beforeMethod
com.lc.testngTest.TestNGAnnotationTest2 test2
com.lc.testngTest.TestNGAnnotationTest2 afterMethod
com.lc.testngTest.TestNGAnnotationTest2 afterClass
com.lc.testngTest.TestNGAnnotationTest afterTestcom.lc.testngTest.TestNGAnnotationTest2 afterTestcom.lc.testngTest.TestNGAnnotationTest afterSuite
com.lc.testngTest.TestNGAnnotationTest2 afterSuite

===============================================
suite1
Total tests run: 4, Failures: 0, Skips: 0
===============================================

 

 其中beforeSuite,afterSuite和beforeTest,afterTest区分不明显,下面修改xml文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" ><suite name="suite1" verbose="1" >
    <test name="test1">
        <classes>
            <class name="com
[TestNG] Running:
  D:\workspace\webTestNG\WebContent\testng.xml

com.lc.testngTest.TestNGAnnotationTest beforeSuite
com.lc.testngTest.TestNGAnnotationTest2 beforeSuite
com.lc.testngTest.TestNGAnnotationTest beforeTestcom.lc.testngTest.TestNGAnnotationTest beforeClass
com.lc.testngTest.TestNGAnnotationTest beforeMethod
com.lc.testngTest.TestNGAnnotationTest test1
com.lc.testngTest.TestNGAnnotationTest afterMethod
com.lc.testngTest.TestNGAnnotationTest beforeMethod
com.lc.testngTest.TestNGAnnotationTest test2
com.lc.testngTest.TestNGAnnotationTest afterMethod
com.lc.testngTest.TestNGAnnotationTest afterClass
com.lc.testngTest.TestNGAnnotationTest afterTestcom.lc.testngTest.TestNGAnnotationTest2 beforeTestcom.lc.testngTest.TestNGAnnotationTest2 beforeClass
com.lc.testngTest.TestNGAnnotationTest2 beforeMethod
com.lc.testngTest.TestNGAnnotationTest2 test1
com.lc.testngTest.TestNGAnnotationTest2 afterMethod
com.lc.testngTest.TestNGAnnotationTest2 beforeMethod
com.lc.testngTest.TestNGAnnotationTest2 test2
com.lc.testngTest.TestNGAnnotationTest2 afterMethod
com.lc.testngTest.TestNGAnnotationTest2 afterClass
com.lc.testngTest.TestNGAnnotationTest2 afterTestcom.lc.testngTest.TestNGAnnotationTest afterSuite
com.lc.testngTest.TestNGAnnotationTest2 afterSuite

===============================================
suite1
Total tests run: 4, Failures: 0, Skips: 0
===============================================

 

.lc.testngTest.TestNGAnnotationTest">class>
        classes>
    test>
    
    <test name="test2">
        <classes>
            <class name="com.lc.testngTest.TestNGAnnotationTest2">class>            
        classes>
    test>suite>

运行结果