TestNG提供的标注详解

为了开发测试用例,TestNG提供了大量的标注annotations,用于在测试类中设置一个或多个测试方法。本文只是提供对TestNG标注的一览,具体用法见后续文章。  
@BeforeSuite,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法;  @AfterSuite,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法;  @BeforeTest,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法;  @AfterTest,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法;  @BeforeGroups,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法;  @AfterGroups,在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法;  @BeforeClass,在测试类中修饰一个方法,该方法所在的测试类中的任意方法执行之前,先执行该方法;  
@AfterClass,在测试类中修饰一个方法,该方法所在的测试类中的其他所有方法执行之后,再执行该方法;  
@BeforeMethod,在测试类中修饰一个方法,该方法在任何一个测试方法执行之前执行;  
@AfterMethod,在测试类中修饰一个方法,该方法在任何一个测试方法执行之后执行;  说明:上述annotations共有的属性如下:  alwaysRun,如果true,被修饰的方法将总是被执行(除了@BeforeGroups之外);  dependsOnGroups,被修饰方法所依赖的组列表;  dependsOnMethods,被修饰方法所依赖的其他方法的列表;  enabled,被修饰方法是否被激活;  groups,被修饰方法所属的组(可以有多个组);  inheritGroups,如果true,被修饰方法还将被加入到定义测试类时由@Test设置的组;  
@DataProvider,在测试类中修饰一个方法,该方法返回Object[][]类型的数据,作为其他测试方法的数据源。  name,为数据源定义一个唯一的名字,供其他测试方法通过名字引用数据源  parallel,默认false,如果true则引用该数据源的测试方法并行执行  
@Factory,在测试类中修饰一个方法,该方法可以动态生成多个测试类的不同实例,以Object[]类型返回,供后续执行测试方法使用。  @Parameters,在测试类中修饰一个测试方法,为被修饰的测试方法设置参数  value,测试方法的参数列表  
@Listeners,修饰一个测试类,为测试类设置监听器  value,测试类的监听器列表  @Test,修饰一个测试类,或者在测试类中修饰一个方法。修饰一个测试类时,测试类中的所有public的方法都将成为测试方法。  alwaysRun,如果true,被修饰的方法将总是被执行(除了@BeforeGroups之外);  dataProvider,数据源的name;  dataProviderClass,数据源所在的Java类名。如果未设置该属性,则数据源与测试方法在同一个测试类中;如果设置了类名,则作为数据源的方法必须是所在Java类的静态方法(即static);  dependsOnGroups,被修饰方法所依赖的组列表;  dependsOnMethods,被修饰方法所依赖的其他方法的列表;  description,对呗修饰方法的描述  enabled,被修饰方法是否被激活;  expectedExceptions,被修饰方法预期将抛出的异常的列表。被修饰方法在执行过程中如果未抛出任何异常或者抛出未指定异常,则测试失败;  groups,被修饰方法所属的组(可以有多个组);  invocationCount,被修饰方法在执行过程中的被调用次数;  invocationTimeout,被修饰方法运行执行的最大毫秒数(每次被调用所执行的时间之和)。如果invocationCount未设置,则该值也将被忽略。  priority,被修饰方法的优先级,值越小优先级越高;  successPercentage,被修饰方法成功执行的百分比;  singleThreaded,当@Test修饰测试类时才有效。如果true,则被修饰测试类中的所有测试方法都在一个线程中执行,而不管在testng.xml中的为parallel属性设置了什么值。  timeOut,被修饰方法运行执行的最大毫秒数;  threadPoolSize,被修饰方法的线程池大小,被修饰方法将多线程执行。如果invocationCount未设置,则该值也将被忽略。

你可能感兴趣的:(技术概念,TestNG标注详解)