TestNG学习笔记 一

一. 介绍   

TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器)。

    编写一个测试的过程有三个典型步骤:

    * 编写测试的 业务逻辑并在代码中插入TestNG annotation
    * 将测试信息添加到testng.xml文件或者build.xml中
    * 运行TestNG

二.概念:

    * suite由xml文件描述。它包含一个或多个测试并被定义为<suite>标签
    * test由<test>描述并包含一个或者多个TestNG类
    * TestNG类是包含至少一个TestNG annotation的Java类,由<class>标签描述并包含一个或多个测试方法
    * 测试方法是源文件中带有@Test注释的java方法

    TestNG测试可以被@BeforeXXX 和 @AfterXXX annotations配置,容许在特定点的前后执行一些java逻辑,这些点上面已经列出。

三.详细解读

  1. TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试到集成测试

  2. 测试的过程的三个典型步骤,注意和junit(4.0)相比,多了一个将测试信息添加到testng.xml文件或者build.xml
      测试信息尤其是测试数据不再写死在测试代码中,好处就是修改测试数据时不需要修改代码/编译了,从而有助于将测试人员引入单元测试/集成测试。

  3. 相比junit的TestCase/TestSuite,TestNG有suite/test/test method三个级别,即将test/test method明确区分开了。

   Annotation

  这里是TestNG中用到的annotation的快速预览,还有它们的属性。

  @BeforeSuite:        被注释的方法将在所有测试运行前运行
  @AfterSuite:        被注释的方法将在所有测试运行后运行
  @BeforeTest:        被注释的方法将在测试运行前运行
  @AfterTest:        被注释的方法将在测试运行后运行
  @BeforeGroups:        被配置的方法将在列表中的gourp前运行。这个方法保证在第一个属于这些组的测试方法调用前立即执行。
  @AfterGroups:        被配置的方法将在列表中的gourp后运行。这个方法保证在最后一个属于这些组的测试方法调用后立即执行。
  @BeforeClass:        被注释的方法将在当前类的第一个测试方法调用前运行。
  @AfterClass:        被注释的方法将在当前类的所有测试方法调用后运行。
  @BeforeMethod:        被注释的方法将在每一个测试方法调用前运行。
  @AfterMethod:        被注释的方法将在每一个测试方法调用后运行。  

 

posted @ 2019-07-22 15:10  炒酷酷  阅读(...)  评论(...编辑  收藏