zoukankan      html  css  js  c++  java
  • TestNG 七 annotation

    TestNG中用到的annotation的快速预览及其属性。

    @BeforeSuite:   被注释的方法将在所有测试运行前运行

    @AfterSuite:  被注释的方法将在所有测试运行后运行

    @BeforeTest:  被注释的方法将在测试运行前运行

    @AfterTest:   被注释的方法将在测试运行后运行

    @BeforeGroups:   被配置的方法将在列表中的gourp前运行。这个方法保证在第一个属于这些组的测试方法调用前立即执行。

    @AfterGroups:  被配置的方法将在列表中的 gourp后运行。这个方法保证在最后一个属于这些组的测试方法调用后立即执行。

    @BeforeClass:  被注释的方法将在当前类的第一个测试方法调用前运行。

    @AfterClass:   被注释的方法将在当前类的所有测试方法调用后运行。

    @BeforeMethod:  被注释的方法将在每一个测试方法调用前运行。

    @AfterMethod:  被注释的方法将在每一个测试方法调用后运行。

    属性:

    alwaysRun

    1.对于每个before方法(beforeSuite,beforeTest,beforeTestClass和beforeTestMethod,但是不包括 beforeGroups):  如果设置为true,被配置的方法将总是运行而不管它属于哪个组。

    2.对于after方法(afterSuite,afterClass, ...):  如果设置为 true,被配置的方法甚至在一个或多个先调用的方法失败或被忽略时也将运行。

    dependsOnGroups       这个方法依赖的组列表

    dependsOnMethods     这个方法依赖的方法列表

    enabled           这个类的方法是否激活

    groups            这个类或方法所属的分组列表

    inheritGroups   如果设置为true,这个方法被属于在类级别被@Testannotation 指定的组

    DataProvider    标记一个方法用于为测试方法提供数据。

    被注释的方法必须返回Object[][], 其中每个Object[]可以指派为这个测试方法的参数列表。

    这个DataProvider接收数据@Test方法需要使用一个和当前注释相同名称的 dataProvider名称

    name这个 DataProvider的名称

    @Factory  标记方法作为一个返回对象的工厂,这些对象将被TestNG用于作为测试类。这个方法必须返回 Object[]

    @Parameters   描述如何传递参数给

    @Test方法

    alwaysRun    如果设置为true,这个测试方法将总是运行,甚至当它依赖的方法失败时。

    dataProvider    这个测试方法的data provider的名称

    dataProviderClass   用于查找data provider的类。如果不指定,将在当前测试方法所在的类或者它的基类上查找 dataprovider。如果这个属性被指定, 则 data provider方法需要是指定类的 static方法。

    value   用于填充这个方法的参数的变量列表

    dependsOnGroups    当前方法依赖的组列表

    dependsOnMethods    当前方法依赖的方法列表

    escription    当前方法的描述

    enabled    当前类的方法/方法是否被激活

    expectedExceptions    测试方法期望抛出的异常列表。如果没有异常或者抛出的不是列表中的任何一个,当前方法都将标记为失败.

    invocationCount    当前方法被调用的次数

    successPercentage    当前方法期望的成功率

    sequential  如果设置为true,当前测试类上的所有方法保证按照顺序运行。甚至测试们在parallel="true"的情况下.这个属性只能用于类级别,如果用于方法级别将被忽略。

    timeOut    当前方法容许花费的最大时间,单位毫秒。

    threadPoolSize    当前方法的线程池大小。方法将被多线程调用,次数由 invocationCount参数指定

    注意:如果invocationCount没有指定则这个属性将被忽略

    注:

    上面是 TestNG中用到的annotation列表,从中我们可以看到 TestNG提供的一些特性

    1.before 方法和after 方法   带来了足够丰富的测试生命周期控制

    2.dependsOnGroups/dependsOnMethods 提供了依赖检查机制,并可以严格控制执行顺序

    3.DataProvider 使得对同一个方法的测试覆盖变的非常轻松,非常适合进行边界测试,只要给出多种测试数据就可以针对一个测试方法进行覆盖

    4.expectedExceptions 使得异常测试变的非常轻松

    5.invocationCount/threadPoolSize 终于可以简单的直接进行多线程测试了,这个绝对是 junit的超级弱项,回想junit中那个万恶的

    System.exist(0)...

    6.timeOut 终于不用死等然后手工强行关闭测试,TestNG 想的太周到了

    groups    当前类/方法所属的组列表

    本文转载自http://blog.sina.com.cn/bestfeiyong 

  • 相关阅读:
    国行ME525+(2.3.6)手机系统的备份方法
    JS定时刷新页面及跳转页面
    Webservice数据迁移
    SQL表A更新和表B同步
    C#面试题3
    移动互联
    新闻内容翻页
    教你怎么把服务器上的数据库备份到本地计算机
    asp.net性能优化
    sql2005数据库备份—sql语句
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6439932.html
Copyright © 2011-2022 走看看