@AfterSuite 注解的方法将只运行一次,运行在<Suite>后。
@BeforeClass 注解的方法将只运行一次,运行在当前类中的所有方法前。
@AfterClass 注解的方法将只运行一次,运行在当前类中的所有方法后。
@BeforeTest 注解的方法将被运行在每个 <test>标签前。
@AfterTest 注解的方法将被运行在每个 <test>标签后。
@BeforeGroups 注解的方法将被运行在每个 <group>标签前。
@AfterGroups 注解的方法将被运行在每个 <group>标签后。
@BeforeMethod 注解的方法将被运行在每个 <Method>标签前。
@AfterMethod 注解的方法将被运行在每个 <Method>标签后。
@DataProvider 注解的方法,是一个提供数据的方法,返回一个Object[] []。@Test方法从这个DataProvider接收数据,需要使用一个dataProvider名称等于这个注解的名字。
public class TestParameterDataProvider { @Test(dataProvider = "provideNumbers") public void test(int number, int expected) { Assert.assertEquals(number + 10, expected); } @DataProvider(name = "provideNumbers") public Object[][] provideData() { return new Object[][] { { 10, 20 }, { 100, 110 }, { 200, 210 } }; } }
@Factory 作为一个工厂,被用于标记的方法将返回TestNG的测试类的对象。该方法必须返回Object[]。
@Listeners 定义一个测试类的监听器。
@Parameters 将<Parameters>标签中的参数传递给@Test方法。
<suite name="test-parameter"> <test name="example1"> <parameter name="parameter1" value="abc" /> <parameter name="parameter2" value="123" /> <classes> <class name="com.testng.examples.parameter.TestParameterXML" /> </classes> </test> </suite>
public class TestParameterXML { @Test @Parameters({ "parameter1", "parameter2" }) public void TestMethod(String parameter1, int parameter2) {...}
@Test 标记一个类或方法作为测试的一部分,该方法将被执行。