testNg注解@BeforeSuite,@BeforeTest,@BeforeClass,@BeforeGroups,@AfterGroups,@BeforeMethod

testNg注解

  1. @BeforeSuite(@AfterSuite)
  • 作用及作用域范围

@BeforeSuite在test suite中的所有test运行之前运行,只运行一次;

@AfterSuite在test suite中的所有test运行之后运行,只运行一次;

Test suite可以由一个或多个测试组成.

  1. @BeforeTest(@AfterTest)
  • 作用及作用域范围

@BeforeTest注解的方法将只运行一次后已经运行在当前类中的所有测试方法;

@AfterTest注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行;

Test可以由一个或多个测试类组成.

  1. @BeforeClass(@AfterClass)
  • 作用及作用域范围

@BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用;

@AfterClass注解的方法将只运行一次后已经运行在当前类中的所有测试方法;

Class由一个或多个方法组成

  1. @BeforeGroups(@AfterGroups)
  • 作用及作用域范围

@BeforeGroups组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。

@AfterGroups注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行;

组是由测试组自定义的一个测试的集合

  1. @BeforeMethod(@AfterMethod)
  • 作用及作用域范围

@BeforeMethod 注解的方法将每个测试方法之前运行。

@AfterMethod注解的方法将每个测试方法之前运行。

在class中的方法每执行一次,就会分别调用一次@BeforeMethod和@AfterMethod

测试级别为:suite -> test -> class -> method。test指的是testng.xml中的test 标签,而不是测试类里的一个 @Test。测试类里的@Test实际上对应的是method。所以在使用 @BeforeSuite、 @BeforeTest、 @BeforeClass、 @BeforeMethod这些标签的时候,它们的实际执行顺序也是按照上述级别来的。

超类上的注解,子类也将得到继承。在这种情况下,TestNG保证“@Before”方法按照继承顺序执行(首先是最高的超类,然后向下继承链),以及“@After”方法按照相反的顺序执行(向上继承链)。

  1. testNg测试示例解读
suite SYSTEM "http://testng.org/testng-1.0.dtd" >





<suite name="TestAll">

<packages>

<package name="com.kcwl.testng">package>

packages>



<test name="case1">

<groups>

<run>

<exclude name="shopping">exclude>

run>

groups

你可能感兴趣的:(testNg,单元测试,java,spring)