码迷,mamicode.com
首页 > 其他好文 > 详细

TestNG详解(单元测试框架)

时间:2017-09-28 11:37:19      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:1.3   定义   dep   summary   testng   功能   执行   cells   并发   

一、TestNG的优点

  1.1 漂亮的HTML格式测试报告

  1.2 支持并发测试

  1.3 参数化测试更简单

  1.4 支持输出日志

  1.5 支持更多功能的注解

二、编写TestNG测试用例的步骤

  2.1 使用 Eclipse生成TestNG的测试程序框架

  2.2 在生成的程序框架中编写测试代码逻辑

  2.3 根据测试代码逻辑,插入TestNG注解标签

  2.4 配置Testng.xml文件,设定测试类、测试方法、测试分组的执行信息

  2.5 执行TestNG的测试程序

三、如何安装TestNG

      启动Eclipse,选择Help-Install New Software-》点击add-name中输入TestNGlocation中输入“http://beust.com/eclipse/”,点击ok-》在弹出的install对话框中勾选TestNG复选框-Next-Accept-Finish

四、testNG用例执行后如何查看执行结果?

  4.1 Console标签栏中展示测试用例的执行结果,如图:

  技术分享

  4.2 在工程下也会生成一个test-output文件夹,如图:

  技术分享

 

五、TestNG常用注解:执行顺序如下

  @BeforeSuite > @BeforeTest > @BeforeMethod > @Test > @AfterMethod > @AfterTest > @AfterSuite

@BeforeSuite

表示会在当前测试集合中的任意一个测试用例开始运行前执行

@AfterSuite

表示会在当前测试集合中的所有测试程序运行结束之后执行

@BeforeTest

表示会在Test中的任意一个测试用例开始运行前执行

@AfterTest

表示会在Test中的所有测试用例运行结束后执行

@BeforeGroups

分组测试用例的任一测试用例开始运行前执行

@AfterGroups

分组测试用例的所有测试用例运行结束后执行

@BeforeClass

在当前测试类的任意一个测试用例开始运行前执行

@AfterClass

在当前测试类的所有测试用例运行结束后执行

@BeforeMethod

在每个测试方法开始运行前执行

@AfterMethod

在每个测试方法运行结束后执行

@Test

被认为是一个测试方法,既一个测试用例

六、如何创建TestNG测试集合?

  6.1 测试集合:在自动化测试的执行过程中,通常会产生批量运行多个测试用例的需求,此需求称为运行测试集合(Test Suite

  6.2 TestNG的测试用例可以是相互独立的,也可以按照特定的顺序来执行(配置TestNG.xml

  6.3 如何配置testNG.xml文件?     

<suite name = "TestNG Suite">    //自定义的测试集合名称
  <test name = "test1">    //自定义的测试名称
    <classes>    //定义被运行的测试类
      <class name = "cn.gloryroad.FirstTestNGDemo" />    //测试类的路径
      <class name = "cn.gloryroad.NewTest" />
    </classes>
  </test> 
</suite>

七、测试用例的分组(group

  7.1 只执行一组分组配置如下:

<suite name = "TestNG Suite">
  <test name = "Grouping">
    <groups>
      <run>
        <include name = "动物" />
      </run>
    </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test>
</suite>

  7.2 执行多组分组时配置如下(两种形式都可以):

<suite name = "TestNG Suite">
  <test name = "Grouping">
    <groups>
      <run>
        <include name = "动物" />   //name分组名称
             <include name = "人" />
      </run>
    </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test>
</suite>            
<suite name = "TestNG Suite">
    <test name = "Grouping">
        <groups>
       <define name = "All">
          <include name = "动物" />
          <include name = "人" />
       </define>
       <run>
          <include name = "All" />
       </run>
     </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test> 
</suite>

八、依赖测试(dependsOnMethod

  @Test(dependsOnMethod = {"方法名称"})

  被依赖的方法优先于此方法执行

九、特定顺序执行测试用例(priority

  @Test(priority = 0/1/2/3/4/…)

  按照数字大小顺序优先执行,优先执行1,然后是2…

十、如何跳过某个测试方法(enabled = false

  @Test(priority = 0/1… , enabled = false)

  执行结束后,在测试报告中显示跳过的测试用例数,例如skip=1

 

十一、测试报告中自定义日志(Reporter.log输入自定义内容)),例如:

  @Test(groups = {""})

  public void student(){

    System.out.println("学生方法被调用");

    Reporter.log("学生方法自定义日志");

  }

技术分享

 

TestNG详解(单元测试框架)

标签:1.3   定义   dep   summary   testng   功能   执行   cells   并发   

原文地址:http://www.cnblogs.com/yxfeng/p/7605522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!