告訴你TestNG annotations註釋都是什麼時候運行的

package com.testng;

import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterGroups;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class testngannotationsdemo {
    @Test(groups={"A組"})
    public void Case1(){
        System.out.println("Test:Case1被執行了!!");
    }
    @Test(groups={"A組"})
    public void Case2(){
        System.out.println("Test:Case2被執行了!!");
    }
    @Test
    public void Case3(){
        System.out.println("Test:Case3被執行了!!");
    }
    
    @BeforeMethod
    public void beforemethod(){
        System.out.println("BeforeMethod:在每個測試(@Test)運行之前執行");
    }
    @AfterMethod
    public void aftermethod(){
        System.out.println("AfterMethod:在每個測試(@Test)結束後執行");
    }
    @BeforeClass
    public void BeforeClass(){
        System.out.println("BeforeClass:在執行第一個測試前執行");
    }
    @AfterClass
    public void AfterClass(){
        System.out.println("AfterClass:在最後一個測試執行結束後執行");
    }
    @BeforeTest
    public void beforetest(){
        System.out.println("BeforeTest:在測試類中的測試開始執行前執行");
    }
    @AfterTest
    public void aftertest(){
        System.out.println("AfterTest:在測試類中的測試結束後執行");
    }
    @BeforeSuite
    public void beforesuite(){
        System.out.println("BeforeSuite:在執行測試集合前執行");
    }
    @AfterSuite
    public void aftersuite(){
        System.out.println("AferSuite:在執行測試集合前執行");
    }
    @BeforeGroups(groups={"A組"})
    public void beforegroups(){
        System.out.println("BeforeGroups:在分組(A組)用例任意一個用例運行前執行");
    }
    @AfterGroups(groups={"A組"})
    public void aftergroups(){
        System.out.println("AfterGroups:在分組(A組)所有用例運行結束後執行");
    }
    
}


如下執行結果可分析出 TestNG不同註釋在何時執行:


[TestNG] Running:
  /private/var/folders/c1/wz0lthxd3n9693l0p1t7yw0h0000gn/T/testng-eclipse-1188532939/testng-customsuite.xml

BeforeSuite:在執行測試集合前執行
BeforeTest:在測試類中的測試開始執行前執行
BeforeClass:在執行第一個測試前執行
BeforeGroups:在分組(A組)用例任意一個用例運行前執行
BeforeMethod:在每個測試(@Test)運行之前執行
Test:Case1被執行了!!
AfterMethod:在每個測試(@Test)結束後執行
BeforeMethod:在每個測試(@Test)運行之前執行
Test:Case2被執行了!!
AfterMethod:在每個測試(@Test)結束後執行
AfterGroups:在分組(A組)所有用例運行結束後執行
BeforeMethod:在每個測試(@Test)運行之前執行
Test:Case3被執行了!!
AfterMethod:在每個測試(@Test)結束後執行
AfterClass:在最後一個測試執行結束後執行
AfterTest:在測試類中的測試結束後執行
PASSED: Case1
PASSED: Case2
PASSED: Case3

===============================================
    Default test
    Tests run: 3, Failures: 0, Skips: 0
===============================================

AferSuite:在執行測試集合前執行

===============================================
Default suite
Total tests run: 3, Failures: 0, Skips: 0
===============================================


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章