当前位置: 首页 > news >正文

Java-TestNG——.xml文件的tests

1.suite标签:最外层标签,测试套件,其下可以有多个<test>和<groups>
(1)name属性
(2)verosbe属性:指定testNG报告的详细程度,0~10,10最详细,默认值为1
(3)parallel属性:指定运行方式,默认none(串行运行方式);
并行运行方式:
methods:方法层级,该suite下所有的测试方法都将进行多线程,即测试用例级别的多线程。如果用例之间有依赖,则执行顺序会按照设定的依赖来运行
tests:TestNG会给每个<test>标签单独分配一个线程。而同一个<test>标签里的所有测试方法,会在同一个线程中运行。
如:suite里有2个 <test> 标签(比如 <test name="TestA"> 和 <test name="TestB"> ),且配置了 parallel="tests" thread-count="5" [最多同时执行5个线程]: TestA里的所有方法,会在“线程1”里按顺序执行;TestB里的所有方法,会在“线程2”里按顺序执行;同时TestA和TestB是并行跑的
这个配置的好处是:可以把非线程安全的测试类/方法,都放在同一个 <test> 里,保证它们在单线程中执行(避免线程安全问题);同时不同 <test> 之间可以并行,提升测试效率。

2.
(1)线程:程序的并行任务;测试里:一个“线程”就是一个“独立的测试执行流程”
(2)非线程安全的测试:如果测试代码“不能同时被多个线程执行”,就是“非线程安全”
如:

// 全局变量(所有测试方法共享) private static int count = 0; // 测试方法1:给count+1 @Test public void test1() { count++; } // 测试方法2:给count+1 @Test public void test2() { count++; }


如果这两个方法在不同线程同时执行,可能出现“count只加了1”的错误(线程争抢资源);但如果把它们放在同一个 <test> 里(单线程执行),count就会正确变成2——这就是把“非线程安全的测试”放进同一个 <test> 的原因。

http://www.gsyq.cn/news/98576.html

相关文章:

  • 你写的不是代码,是生存的底气|从“制造思维”到“生长思维”的范式革命
  • 移动应用开发实验室大一上考核
  • DAY 8 打卡训练
  • 详细介绍:Java集合框架概述
  • 基于python+django的学生就业管理的招聘系统(源码+lw+部署文档+讲解等)
  • 基于VFNet的安全装备检测系统Python实现(含代码+模型解析)
  • 基于springboot和vue的Script的线上超市团购系统的设计与实现_kvoptnlt(java毕业设计项目源码)
  • 将NeMo模型转换为Triton兼容格式
  • 基于springboot和vue的人脸识别的无人值守自习室预约签到系统的设计与实现_4s9zffod(java毕业设计项目源码)
  • 经典算法题详解之统计重复个数(三)
  • 力扣 打家劫舍
  • 打卡信奥刷题(2536)用C++实现信奥 P2044 [NOI2012] 随机数生成器
  • 【3D图像技术分析与实现】Apple Vision Pro三维成像技术栈深度解析
  • 树的初阶相关知识(上)
  • 基于springboot和vue的大学生课程排课管理系统设计_2ux3bmwb(java毕业设计项目源码)
  • WHERE和HAVING子句的使用场景有何不同?
  • 质量管理QMS软件系统:全模块构建卓越质量生态,数据驱动价值升级——全星质量管理QMS软件系统应用解析
  • 混沌这玩意儿在优化算法里真是万金油。今天咱们拿灰狼算法开刀,手把手给它装10种不同的混沌引擎。先上硬货——代码仓库里直接塞个混沌生成器
  • 基于TMS320F28335芯片的BUCK双闭环PI DSP代码
  • 量子软件测试:我们准备好了吗?
  • 超声相控阵全聚焦算法 Comsol超声全矩阵仿真模型(仿真模型可以获得全矩阵数据)
  • 17、Debian系统管理基础与实用工具介绍
  • *SPOOLing 技术(假脱机技术)** - 全称:Simultaneous Peripheral Operations On-Line(外部设备同时联机操作)
  • 在虚拟内存管理中,页面置换算法用于决定当物理内存满时,应将哪个页面换出
  • 19、Debian 系统初始化与自动进程管理全解析
  • 终于有人把大模型讲明白了:LLM 从入门到精通全解析
  • 永生数字系统:与之配套的测试哲学
  • asgiref终极指南:高效解决Python异步通信难题
  • Refine Next.js Turbopack 兼容性实战手记:从构建冲突到性能优化的完整指南
  • 22、Linux系统:备份、安装与管理全攻略