@BeforeSuite 注解的方法将只运行一次,运行在<Suite>前。
@AfterSuite 注解的方法将只运行一次,运行在<Suite>后。
@BeforeClass 注解的方法将只运行一次,运行在当前类中的所有方法前。
@AfterClass 注解的方法将只运行一次,运行在当前类中的所有方法后。
@BeforeTest 注解的方法将被运行在每个 <test>标签前。
@AfterTest 注解的方法将被运行在每个 <test>标签后。
@BeforeGroups 注解的方法将被运行在每个 <group>标签前。
@AfterGroups 注解的方法将被运行在每个 <group>标签后。
@BeforeMethod 注解的方法将被运行在每个 <Method>标签前。
@AfterMethod 注解的方法将被运行在每个 <Method>标签后。
@DataProvider 注解的方法,是一个提供数据的方法,返回一个Object[] []。@Test方法从这个DataProvider接收数据,需要使用一个dataProvider名称等于这个注解的名字。
@Factory 作为一个工厂,被用于标记的方法将返回TestNG的测试类的对象。该方法必须返回Object[]。
@Listeners 定义一个测试类的监听器。
@Parameters 将<Parameters>标签中的参数传递给@Test方法。
@Test 标记一个类或方法作为测试的一部分,该方法将被执行。
@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 标记一个类或方法作为测试的一部分,该方法将被执行。