TestNG 单元测试框架

(一)TestNG介绍与安装1、介绍TestNG 官网地址:http://testng.org/doc/TestNG是一个测试框架的灵感来自JUnit和NUnit,但引入一些新的功能,使它更强大和更容易使用,如:注释。在任意大线程池中运行测试,并提供各种策略(所有方法都在自己的线程中,每个测试类有一个线程,等等)。测试你的代码多线程是安全的。灵活的测试配置。数据驱动的测试支持(@dataProvi...
摘要由CSDN通过智能技术生成

(一)TestNG介绍与安装

1、介绍

TestNG 官网地址:http://testng.org/doc/

TestNG是一个测试框架的灵感来自JUnit和NUnit,但引入一些新的功能,使它更强大和更容易使用,如:

  • 注释。
  • 在任意大线程池中运行测试,并提供各种策略(所有方法都在自己的线程中,每个测试类有一个线程,等等)。
  • 测试你的代码多线程是安全的。
  • 灵活的测试配置。
  • 数据驱动的测试支持(@dataProvider)。
  • 参数支持。
  • 强大的执行模型(不再有TestSuite)。
  • 通过各种工具和插件支持(Eclipse, IDEA, Maven 等..)。
  • 通过进一步的灵活性Beanshell。
  • 运行时和日志的默认JDK功能(无依赖性)。
  • 应用服务器测试的相关方法。
  • TestNG 表示下一代(Next Generation的首字母)。它的设计覆盖所有类别的测试:单元、功能、端到端、集成等。

2、安装

本教程基于 IntelliJ IDEA 和 Maven ,所以,这里只介绍 Maven 的安装方式。

<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.13</version>
    <scope>test</scope>
</dependency>

(二)第一个测试用例

1、第一个测试用例

通过 IntelliJ IDEA 创建 FirstTest 测试类。编写如下代码:

import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertEquals;


public class FirstTest {

    @Test
    public void testCase(){
        assertEquals(2+2, 4);
    }
}
通过 @Test 注解一个方法为测试用例。

通过 assertEquals() 方法来断言两个数是否相等。

运行测试:

===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

我们先感官上对TestNG使用有一个初步认识。

(三)TestNG 之 FixTrue

1、什么是Fixture

Test Fixture 是指一个测试运行所需的固定环境,准确的定义:

The test fixture is everything we need to have in place to exercise the SUT

在进行测试时,我们通常需要把环境设置成已知状态(如创建对象、获取资源等)来创建测试,每次测试开始时都处于一个固定的初始状态;测试结果后需要将测试状态还原,所以,测试执行所需要的固定环境称为 Test Fixture。

2、TestNG 提供的Fixture 方法

表:

注解 说明
@BeforeSuite 注解的方法在测试套件(中的所有用例)开始前运行一次
@AfterSuite 注解的方法在测试套件(中的所有用例)结束后运行一次。
@BeforeClass 注解的方法在当前测试类(中所有用例)开始前运行一次。
@AfterClass 注解的方法在当前测试类(中所有用例)结束后运行一次。
@BeforeTest 对于套件测试,在运行属于标签内的类的所有测试方法之前运行。
@AfterTest 对于套件测试,在运行属于标签内的类的所有测试方法之后运行。
@BeforeGroups 在调用属于该组的所有测试方法之前运行。
@AfterGroups 在调用属
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java TestNG是一种用于编写和执行单元测试框架。它可以帮助开发人员进行自动化测试,并提供了丰富的功能和灵活的配置选项。 在Java TestNG中,可以使用@Test注解来标记测试方法。通过使用不同的注解参数,可以控制测试方法的执行顺序、分组和依赖关系。 引用\[1\]中的示例展示了一个使用@Test注解的测试类TestCase1。其中,@Test(enabled=false)表示该测试方法不会被执行,而@Test表示该测试方法会被执行。通过这种方式,可以选择性地执行测试方法。 引用\[2\]中的示例展示了如何使用priority参数来控制测试方法的执行顺序。priority的数值越小,优先级越高,测试方法会按照优先级从小到大的顺序执行。 引用\[3\]中的示例展示了如何使用dependsOnMethods参数来定义测试方法之间的依赖关系。在这个示例中,TestNgLearn2方法依赖于TestNgLearn1方法,只有在TestNgLearn1方法执行成功后,TestNgLearn2方法才会被执行。 总结来说,Java TestNG可以通过注解参数来控制测试方法的执行顺序、分组和依赖关系,从而实现灵活的单元测试。 #### 引用[.reference_title] - *1* *3* [TestNG单元测试框架详解](https://blog.csdn.net/lovedingd/article/details/106784561)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java笔记-单元测试框架TestNG](https://blog.csdn.net/qq_19645167/article/details/126280996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值