zoukankan      html  css  js  c++  java
  • testng -注解之@BeforeSuite、@AfterSuite

    一、基本用法

    suite >class>method

    @BeforeSuite:测试套件前运行,一个测试套件中可以包含多个测试类

    @AfterSuite:测试套件后运行

    package com.test.finance.testcase;
    
    import org.testng.annotations.*;
    
    public class Testc {
        
        @BeforeSuite
        public void beforesuite(){
            System.out.println("beforesuite运行");
        }
        @AfterSuite
        public void aftersuite(){
            System.out.println("aftersuite运行");
        }
    
        @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运行");
        }
    
        @Test
        public void testc_1(){
            System.out.println("testc_1运行");
        }
        @Test
        public void testc_2(){
            System.out.println("testc_2运行");
        }
    }
    
    =======结果=====
    beforesuite运行
    
      beforeclass运行
    
        beforemethod运行
    
          testc_1运行
    
        aftermethod运行
    
    
    
        beforemethod运行
          testc_2运行
    
        aftermethod运行
    
      afterclass运行
    
    aftersuite运行

    二、如何实现@BeforeSuite/@AfterSuite在多个测试类前后运行一次??

    目前了解到,testng不能想pytest只需要在一个根目录下的conftest.py文件中设置前置fixture即可实现多个文件公用一个前置

    testng实现方式:写一个BaseTest.class类,里面编写@BeforeSuite、@AfterSuite测试方法,用其他的测试类继承BaseTest.class类

    目录结构:

    代码编写:

    /**
    *基础类中包含@BeforeSuite、@AfterSuite、@BeforeClass、@AfterClass
    */
    
    public class BaseTestcase {
        @BeforeSuite
        public  void beforeSuite(){
            System.out.println("执行beforeSuite");
        }
    
        @AfterSuite
        public void afterSuite(){
            System.out.println("执行aftersuite");
        }
    
        @BeforeClass
        public void beforeClass(){
            System.out.println("执行beforeclass");
        }
        @AfterClass
        public void afterClass(){
            System.out.println("执行afterclass");
        }
    }
    
    /**
    *测试类Testa extends BaseTestcase
    */
    public class Testa extends BaseTestcase {
    
        @Test
        public void testa_1(){
            System.out.println("testa-1执行");
        }
    
        @BeforeMethod
        public void beforeMethod(){
            System.out.println("beforemethod执行成功");
        }
    
        @AfterMethod
        public void afterMethod(){
            System.out.println("aftermethod执行成功");
        }
    
    }
    
    /**
    *测试类Testa extends BaseTestcase
    */
    public class Testb extends BaseTestcase {
    
        @Test
        public void testb_1(){
            System.out.println("testb_1执行了");
        }
    }
    
    /**
    *testng.xml文件,配置运行设置
    */
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    
    <suite name="111">
        <test name="test">
            <classes>
                <class name="com.test.finance.testcase.Testa"/>
                <class name="com.test.finance.testcase.Testb"/>
            </classes>
        </test>
    </suite>

    =====直接右键-运行testng.xml===

    执行beforeSuite

      执行beforeclass

        beforemethod执行成功

          testa-1执行

        aftermethod执行成功


      执行afterclass

      执行beforeclass

        testb_1执行了

      执行afterclass

    执行aftersuite

  • 相关阅读:
    POJ 2449 Remmarguts' Date(第k短路のA*算法)
    UESTC 1717 Journey(DFS+LCA)(Sichuan State Programming Contest 2012)
    HRBUST 1211 火车上的人数【数论解方程/模拟之枚举+递推】
    洛谷 P1372 又是毕业季I[数论/神坑规律题]
    洛谷 P1865 A % B Problem[筛素数/前缀和思想/区间质数个数]
    CCCC L2-003. 月饼[贪心/类似hdu贪心老鼠]
    二项式定理与杨辉三角
    Educational Codeforces Round 39 (Rated for Div. 2) B. Weird Subtraction Process[数论/欧几里得算法]
    洛谷 P1784 数独[DFS/回溯]
    Wannafly交流赛1 B 硬币[数学思维/贪心]
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/14802039.html
Copyright © 2011-2022 走看看