Testng认识与配置-全网最简单

news/2025/2/11 23:54:44/

总结:testng支持注解,线程池,数据驱动,参数化,强大执行模式,也支持单元测试,功能测试,接口测试

TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as:

  • Annotations.

  • Run your tests in arbitrarily big thread pools with various policies available (all methods in their own thread, one thread per test class, etc…​).

  • Test that your code is multithread safe.

  • Flexible test configuration.

  • Support for data-driven testing (with @DataProvider).

  • Support for parameters.

  • Powerful execution model (no more TestSuite).

  • Supported by a variety of tools and plug-ins (Eclipse, IDEA, Maven, etc…​).

  • Embeds BeanShell for further flexibility.

  • Default JDK functions for runtime and logging (no dependencies).

  • Dependent methods for application server testing.

TestNG 是一个测试框架,它受到了 JUnit 和 NUnit 的启发,但引入了一些新功能,使其更加强大和易于使用。以下是 TestNG 的一些主要特点和优势:

注解(Annotations)
TestNG 使用注解来标记测试方法、测试套件、测试组等,使得测试代码更加清晰和易于管理。

多线程测试执行
TestNG 允许你在任意大小的线程池中运行测试,提供了多种线程策略,比如每个方法都在自己的线程中运行,每个测试类使用一个线程等。

多线程安全测试
TestNG 可以测试你的代码是否在多线程环境下安全,这对于并发编程的测试至关重要。

灵活的测试配置
TestNG 提供了灵活的测试配置选项,可以根据需要调整测试的执行顺序、优先级等。

数据驱动测试支持
通过使用 @DataProvider 注解,TestNG 支持数据驱动测试,你可以为测试方法提供多组不同的输入数据。

参数化测试
TestNG 允许你为测试方法提供参数,这使得你可以为同一个测试逻辑准备不同的测试场景。

强大的执行模型
TestNG 采用了强大的执行模型,不再依赖于传统的 TestSuite,而是使用注解和配置文件来组织和管理测试。

丰富的工具和插件支持
TestNG 被多种工具和插件支持,包括 Eclipse、IDEA、Maven 等,这使得它可以在各种开发环境中轻松集成和使用。

嵌入 BeanShell
BeanShell 是一个轻量级的 Java 脚本引擎,TestNG 嵌入 BeanShell 提供了额外的灵活性,允许在测试执行过程中执行动态脚本。

默认 JDK 函数
TestNG 使用 JDK 的默认函数进行运行时和日志记录,这意味着它不依赖于任何额外的库或框架。

依赖方法
TestNG 支持定义依赖方法,这对于应用服务器测试等复杂场景非常有用,可以确保测试按照特定的顺序执行,并且某些测试方法依赖于其他方法的执行结果。

总的来说,TestNG 是一个功能强大且易于使用的测试框架,适用于各种 Java 应用程序的测试需求。

 

简单来说,

testng有注解 ;

testng可用线程池运行test测试用例

testng用多线程池运行代码是安全的

testng有灵活的测试配置

testng支持数据驱动,主要用@DataProvider

testng支持参数化

testng有强大的执行模式,不需太多TestSuite(测试套件)

Eclipse,IDEA,Maven都兼容testng

testng可灵活嵌入BeanShell

testng运行时可用JDK相关方法

testng涵盖所有类别的测试:单元测试,功能测试,端到端测试,集成测试


编写一个用例

Writing a test is typically a three-step process:

  • Write the business logic of your test and insert TestNG annotations in your code.

  • Add the information about your test (e.g. the class name, the groups you wish to run, etc…​) in a testng.xml file or in build.xml.

  • Run TestNG.

 

编写一个测试通常是一个三步走的过程:

  1. 编写测试的业务逻辑并插入TestNG注解
    首先,你需要编写测试代码,这通常包括设置测试环境、调用被测试的方法或函数,以及验证结果是否符合预期。在这个过程中,你会使用TestNG提供的注解来标记测试方法、测试套件、测试组等。例如,你可以使用@Test注解来标记一个测试方法,使用@BeforeMethod@AfterMethod来标记在每个测试方法执行前后需要运行的代码。

  2. 在testng.xml文件或build.xml文件中添加测试信息
    接下来,你需要提供一个配置文件来告诉TestNG如何运行你的测试。这个文件通常是testng.xml,它包含了测试运行所需的各种信息,比如要运行的测试类、测试组、测试方法的顺序、是否并行执行等。如果你使用的是像Maven或Ant这样的构建工具,你也可以在它们的构建脚本(如build.xml或pom.xml)中配置TestNG的运行参数。

  3. 运行TestNG
    最后,你可以通过命令行、IDE插件或构建工具来运行TestNG。当TestNG运行时,它会读取你的testng.xml配置文件或构建脚本中的设置,加载并执行你的测试代码。TestNG会收集测试结果,并在测试完成后生成报告,你可以根据报告来查看测试是否通过,以及每个测试的具体执行情况。

这三个步骤涵盖了编写、配置和运行TestNG测试的全过程。确保你的测试代码逻辑清晰、注解使用正确,配置文件设置合理,就可以有效地进行单元测试、集成测试或其他类型的测试。

步骤‘;

File-Settings-Plugins-输入插件名称,需要安装testng和xml

目的:是为了建testng测试类

 在pom文件配置testng添加这段配置

目的:是开发代码时需要用testng源码类


http://www.ppmy.cn/news/1381419.html

相关文章

注塑件三维扫描服务抄数建模3D出图大件上门扫描三维偏差对比测量

注塑件三维偏差对比测量是一项至关重要的工艺过程,它涉及到产品质量控制、生产流程优化以及成本控制等多个方面。在注塑生产过程中,由于材料性质、模具精度、工艺参数等多种因素的影响,注塑件往往会出现尺寸偏差、形状失真等问题。因此&#…

Hbuilderx发行打包,一直报尚未完成社区身份验证(已解决)

账号信息 (dcloud.net.cn) 只需要打开这个网址 ,填写自己的手机号即可进行发包 正在发包

mysql笔记:15. 事务和锁

文章目录 一、事务概述二、事务基本操作三、事务保存点四、事务的隔离级别1. READ UNCOMMITTED设置事务的隔离级别 2. READ COMMITTED3. REPEATABLE READ4. SERIALIZABLE 五、MySQL的锁InnoDB的锁类型1. InnoDB的行级锁2. InnoDB的表级锁 死锁 在开发过程中,我们经常…

使用折半法判断一个数据是否在一个数组中

import java.util.*; /** * E类包含了main方法,用于执行程序。 */ public class E { /** * 程序的主入口函数。 * @param args 命令行参数(未使用) */ public static void main(String args[]){ // 初始化起始点、结束点和中间点 i…

HTTP协议相关面试知识

文章目录 浏览器输入一个网址侯,具体发生什么?GET和POST请求的区别cookies机制和session机制的区别HTTP和HTTPS区别什么是http无状态协议?怎么解决?请求报文和响应报文 浏览器输入一个网址侯,具体发生什么?…

idea+maven+tomcat+spring 创建一个jsp项目

概述:我真服了,这个垃圾学校还在教jsp,这种技术我虽然早会了,但是之前搞的大多都是springboot web类型的,这里我就复习一下,避免以后忘记这种垃圾技术 第一步:创建maven项目 第二步&#xff1a…

K8s的kubeadm方式部署集群实例

目录 一、准备环境 主机清单 修改主机名 设置防火墙、selinux状态 主机名解析 固定ip 重启网卡 同步时间 关闭swap分区 二、获取镜像 三、安装docker 四、配置kubeadm源 安装依赖包及常用插件 1.配置kubeadm源,安装对应版本 2.加载相关ipvs模块 3.配…

EMQX+InfluxDB+Grafana 构建物联网可视化平台

EMQXInfluxDBGrafana 构建物联网可视化平台 本文以常见物联网使用场景为例,介绍了如何利用 EMQ X MQTT 服务器 InfluxDB Grafana 构建物联网数据可视化平台,将物联网设备上传的时序数据便捷地展现出来。 在物联网项目中接入平台的设备数据和数据存储…