• (引用)TESTNG总结


     

    TestNG简介:

    TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。

    TestNG相较于Junit的优点:

    ·可指定执行顺序, dependsOnMethods 属性来应对测试的依赖性问题。 
    ·参数化测试,TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。支持@DataProvider 注释可以方便地把复杂参数类型映射到某个测试方法。 
    ·支持分组测试 
    ·支持多线程测试

    官网地址:http://testng.org/doc/index.html

    TestNG用法简介:

    注解描述
    @BeforeSuite 注解的方法将只运行一次,所有测试运行前运行。
    @AfterSuite 注解的方法将只运行一次,,所有测试运行后运行。
    @BeforeClass 注解的方法将只运行一次,被注释的方法将在当前类的第一个测试方法调用前运行。
    @AfterClass 注解的方法将只运行一次,被注释的方法将在当前类的最后一个个测试方法调用后运行。
    @BeforeTest 被注释的方法将在所有测试方法运行前运行
    @AfterTest 被注释的方法将在所有测试方法运行后运行
    @BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。
    @AfterGroups 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。
    @BeforeMethod 注解的方法将每个测试方法之前运行。
    @AfterMethod 被注释的方法将被运行后,每个测试方法。
    @DataProvider 标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。
    @Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。
    @Listeners 定义一个测试类的监听器。
    @Parameters 介绍如何将参数传递给@Test方法。
    @Test 标记一个类或方法作为测试的一部分。

    生命周期:

    @BeforeSuite->@BeforeTest->@BeforeClass->{@BeforeMethod->@Test->@AfterMethod}->@AfterClass->@AfterTest->@AfterSuite

    分组测试

    相比junit的TestCase/TestSuite,TestNG有suite/test/test method三个级别,即将test/test method明确区分开了。 
    * suite由xml文件描述。它包含一个或多个测试并被定义为标签 
    * test由描述并包含一个或者多个TestNG类 
    * TestNG类是包含至少一个TestNG annotation的Java类,由标签描述并包含一个或多个测试方法

    参数化测试

    TestNG提供了2种传递参数的方式。

    第一种: testng.xml 方式使代码和测试数据分离,方便维护,适用于一个用例,需要多个相同参数(值不同)来验证的情况。 
    第二种:@DataProvider能够提供比较复杂的参数。 
    这里介绍下第一种,如下例:@Parameters({ “key” }) 会去testng.xml里取到这个key对应的value,放到传参secondName中。

    (1) assertTrue:判断是否为True。

    (2) assertFalse:判断是否为false。

    (3) assertSame:判断引用地址是否相同。

    (4) assertNotSame:判断引用地址是否不相同。

    (5) assertNull:判断是否为null。

    (6) assertNotNull:判断是否不为null。

    (7) assertEquals:判断是否相等,Object类型的对象需要实现haseCode及equals方法。

    (8) assertNotEquals:判断是否不相等。

    (9) assertEqualsNoOrder:判断忽略顺序是否相等。

    转载:http://blog.csdn.net/mmk1992/article/details/52371111



  • 相关阅读:
    CentOS命令修改系统时间同步
    Redis的两种持久化方式-快照持久化(RDB)和AOF持久化
    Mysql优化_内置profiling性能分析工具
    Samba服务器的安装与配置
    Linux下yum安装MysqL数据库
    CentOS下安装配置cmake
    自定义环形进度条
    教你实现语音识别(基于科大讯飞)
    Eclipse中如何安装和使用GrepCode插件
    如何在代码中动态设置字体大小
  • 原文地址:https://www.cnblogs.com/zyp1/p/6961633.html
Copyright © 2020-2023  润新知