zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java单元测试框架-1-TestNg初识

JAVA框架 单元测试 初识 TestNG
2023-09-11 14:16:28 时间

目录

1.1xUnit整体作用

1.2着重介绍Junit&TestNg

1.3TestNg测试框架介绍

1.4Eclipse安装TestNG

1.5TestNg测试


1.1xUnit整体作用

xUnit是各种代码驱动测试框架的统称,这些框架可以测试软件的不同内容。

主要优点是提供了一个自动化测试的解决方案,不需要多次编写重复的测试代码,也不必记录测试结果
xUnit用于测试的四要素:

  • 1:测试目标(对象)
  • 2:测试集
  • 3:测试执行(过程)
  • 4:断言

 

1.3TestNg测试框架介绍

TestNG是java中的一个单元测试框架,类似Junit,是一种注解式的编程方式,支持并行运行,数据驱动等,即可以用来做单元测试,也可以用来做集成测试。

TestNg官网文档:TestNg官网   TestNg官网文档:https://testng.org/doc/documentation-main.html

1.4Eclipse安装TestNG

这里我的Eclispe是4.9.0版本,可以直接从Eclipse Marketplace处下载

点击Help->Eclipse Marketplace 搜索TestNg

我这里已经安装了,如果没安装可以根据提示进行安装,我是直接将TestNg拖动进来就可以安装了。

安装成功后重启Eclispe,可以在Windows->Preferences->TestNg看到,此时就可以创建TestNgClass

1.5TestNg测试

创建一个最基本的TestNG 测试Class 

TestFirst.java

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite;

public class TestFirst {
  @Test
  public void Test() {
	  
  }
  @BeforeMethod
  public void beforeMethod() {
	  System.out.println("----beforeMethod----");
  }

  @AfterMethod
  public void afterMethod() {
	  System.out.println("----afterMethod----");
  }

  @BeforeClass
  public void beforeClass() {
	  System.out.println("----beforeClass----");
  }

  @AfterClass
  public void afterClass() {
	  System.out.println("----afterClass----");
  }

  @BeforeTest
  public void beforeTest() {
	  System.out.println("----beforeTest----");
  }

  @AfterTest
  public void afterTest() {
	  System.out.println("----afterTest----");
  }

  @BeforeSuite
  public void beforeSuite() {
	  System.out.println("----beforeSuite----");
  }

  @AfterSuite
  public void afterSuite() {
	  System.out.println("----afterSuite----");
  }

}

注意查看执行顺序

beforeSuite->beforeTest->beforeClass->beforeMethod->afterMetod->afterClass->afterTest->afterSuite

从上面的运行结果可以看出,TestNg的测试用例组织结构如下:

一个TestSuite由多个Test组成

一个Test由多个Class组成

一个Class由多个Method组成

当运行不同层级的测试用例时,可以通过不同的注解实现测试前的初始化工作,测试用例的执行和测试执行后的环境清理工作。测试运行前,要打开文件,启动数据库,读取参数配置,测试结束后关闭文件,关闭数据库,清理运行环境等。