zoukankan      html  css  js  c++  java
  • TestNG关键字和testNG.xml结构学习

    转自官网:http://testng.org/doc/documentation-main.html#test-results

    TestNG关键字

    @BeforeSuite
    @AfterSuite
    @BeforeTest
    @AfterTest
    @BeforeGroups
    @AfterGroups
    @BeforeClass
    @AfterClass
    @BeforeMethod
    @AfterMethod

    @BeforeSuite: The annotated method will be run before all tests in this suite have run. 
    @AfterSuite: The annotated method will be run after all tests in this suite have run. 
    @BeforeTest: The annotated method will be run before any test method belonging

    to the classes inside the <test> tag is run. 
    @AfterTest: The annotated method will be run after all the test methods belonging 

    to the classes inside the <test> tag have run. 
    @BeforeGroups: The list of groups that this configuration method will run before. 

    This method is guaranteed to run shortly before the first test method that belongs 

    to any of these groups is invoked.
    @AfterGroups: The list of groups that this configuration method will run after. 

    This method is guaranteed to run shortly after the last test method that belongs

     to any of these groups is invoked. 
    @BeforeClass: The annotated method will be run before the first test method in 

    the current class is invoked. 
    @AfterClass: The annotated method will be run after all the test methods in the 

    current class have been run. 
    @BeforeMethod: The annotated method will be run before each test method. 
    @AfterMethod: The annotated method will be run after each test method.

    testNG.xml结构

    The concepts used in this documentation are as follows:

    • A suite is represented by one XML file. It can contain one or more tests and is defined by the <suite> tag.
    • A test is represented by <test> and can contain one or more TestNG classes.
    • A TestNG class is a Java class that contains at least one TestNG annotation. It is represented by the <class> tag and can contain one or more test methods.
    • A test method is a Java method annotated by @Test in your source.

    Here is an example testng.xml file:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
     
    <suite name="Suite1" verbose="1" >
      <test name="Nopackage" >
        <classes>
           <class name="NoPackageTest" />
        </classes>
      </test>
    
      <test name="Regression1">
        <classes>
          <class name="test.sample.ParameterSample"/>
          <class name="test.sample.ParameterTest"/>
        </classes>
      </test>
    </suite>
     

    You can specify package names instead of class names:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    
    <suite name="Suite1" verbose="1" >
      <test name="Regression1"   >
        <packages>
          <package name="test.sample" />
       </packages>
     </test>
    </suite>
     

    In this example, TestNG will look at all the classes in the package test.sample and will retain only classes that have TestNG annotations.

    You can also specify groups and methods to be included and excluded:

    public class Test1 {
      @Test(groups = { "functest", "checkintest" })
      public void testMethod1() {
      }
    
      @Test(groups = {"functest", "checkintest"} )
      public void testMethod2() {
      }
    
      @Test(groups = { "functest" })
      public void testMethod3() {
      }
    }


    <test name="Regression1">
      <groups>
        <run>
          <exclude name="brokenTests"  />
          <include name="checkinTests"  />
        </run>
      </groups>
     
      <classes>
        <class name="test.IndividualMethodsTest">
          <methods>
            <include name="testMethod" />
          </methods>
        </class>
      </classes>
    </test>
     

    You can also define new groups inside testng.xml and specify additional details in attributes, such as whether to run the tests in parallel, how many threads to use, whether you are running JUnit tests, etc... 

    
    

    By default, TestNG will run your tests in the order they are found in the XML file. If you want the classes and methods listed in this file to be run in an unpredictible order, set the preserve-order attribute to false

    <test name="Regression1" preserve-order="false">
      <classes>
    
        <class name="test.Test1">
          <methods>
            <include name="m1" />
            <include name="m2" />
          </methods>
        </class>
    
        <class name="test.Test2" />
    
      </classes>
    </test>
     

    Please see the DTD for a complete list of the features, or read on.

  • 相关阅读:
    无窗口激活ActiveX控件的bug
    吴裕雄天生自然SPRINGSpring java配置
    吴裕雄天生自然Spring第一个Spring入门程序
    吴裕雄天生自然SPRINGBOOT开发实战学习笔记处理The import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder cannot be resolved
    吴裕雄天生自然SPRINGSpring IoC
    吴裕雄天生自然SPRINGBean的初始化和销毁
    吴裕雄天生自然SPRINGSpring AOP
    吴裕雄天生自然SPRINGSpring Bean作用域
    吴裕雄天生自然SPRINGSpring的数据库编程
    吴裕雄天生自然SPRINGBOOT开发实战学习笔记spring boot配置oracle、MySQL
  • 原文地址:https://www.cnblogs.com/digod/p/5832264.html
Copyright © 2011-2022 走看看