Before类别和After类别注解
举例说明
创建两个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>
运行结果