分享

三、TestNG的基本注解(1)

 精品唯居 2022-10-10 发布于北京

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http:///testng-1.0.dtd" >

<suite name="suite1" verbose="1" >
    <test name="test1">
        <classes>
            <class name="com.lc.testngTest.TestNGAnnotationTest"></class>
            <class name="com.lc.testngTest.TestNGAnnotationTest2"></class>            
        </classes>
    </test>
    
</suite>

运行结果

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

com.lc.testngTest.TestNGAnnotationTest beforeSuite
com.lc.testngTest.TestNGAnnotationTest2 beforeSuite
com.lc.testngTest.TestNGAnnotationTest beforeTest
com.lc.testngTest.TestNGAnnotationTest2 beforeTest
com.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 afterTest
com.lc.testngTest.TestNGAnnotationTest2 afterTest
com.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-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 beforeTest
com.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 afterTest
com.lc.testngTest.TestNGAnnotationTest2 beforeTest
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.TestNGAnnotationTest2 afterTest
com.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>

运行结果

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多