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

利用Excel支持JUnit参数化测试

在JUnit里面,可以使用CsvFileSource读取csv文件进行参数化测试,可是CSV文件不支持格式,编辑颇为麻烦,尤其是多次编辑,因此自然想到是否可以使用Excel文件,可以有各种格式,支持各类数据。

最新开源组件ExcelBDD提供了此功能,其maven导入代码如下

<dependency><groupId>com.excelbdd</groupId><artifactId>excelbdd-java</artifactId><version>1.4.1</version>
</dependency>

对于如下样子的Excel里面表格

参数化测试代码如下

import java.util.Map;
import org.junit.jupiter.params.ParameterizedTest;import com.excelbdd.ExcelFileSource;
import com.excelbdd.TestWizard;
import static org.junit.jupiter.api.Assertions.*;......@ParameterizedTest@ExcelFileSource(file = "excelbdd/DataTable.xlsx", sheet = "DataTable2")void testGetDateFromExcelTable(Map<String, String> parameterMap) {TestWizard w = new TestWizard(parameterMap);assertEquals("Value1", w.get("Header01").substring(0, 6));assertEquals("Value2", w.get("Header02").substring(0, 6));
//      ......assertEquals("Value8", w.get("Header08").substring(0, 6));
//		real test automation implementation}

@ExcelFileSource有五个参数:

file 文件名,缺省以resources为相对基准

brotherFolder 兄弟路径,改变相对基准到此路径的上级,一般不需要用

sheet Excel里面Sheet名称,缺省是第1个

headerRow 标题列,缺省第1行,一般不需要用

startColumn 数据区第1列在哪里,缺省是从第1列开始自动搜索数据区,一般不需要用

ExcelBDD的功能不止于使用Excel作为参数化测试来源,更加主要的功能是支持BDD,也是SBE。

参见 ExcelBDD Python指南icon-default.png?t=N7T8https://blog.csdn.net/zhangmike/article/details/133815589?spm=1001.2014.3001.5501

ExcelBDD Guideline By Java Exampleicon-default.png?t=N7T8https://blog.csdn.net/zhangmike/article/details/118197580

http://www.lryc.cn/news/210772.html

相关文章:

  • 第三章 SysML入门|系统建模语言SysML实用指南学习
  • 敏捷开发框架Scrum-概述
  • Hafnium启动过程分析
  • 0基础学习PyFlink——使用Table API实现SQL功能
  • 文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题
  • [读论文] On Joint Learning for Solving Placement and Routing in Chip Design
  • L2-1 插松枝
  • Android 使用ContentObserver监听SettingsProvider值的变化
  • 二进制安装部署k8s
  • 多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测
  • ITSource 分享 第5期【校园信息墙系统】
  • 记 : CTF2023羊城杯 - Reverse 方向 Blast 题目复现and学习记录
  • 【数据结构练习题】删除有序数组中的重复项
  • leetcode-链表
  • CV计算机视觉每日开源代码Paper with code速览-2023.10.27
  • “赋能信创,物联未来” AntDB数据库携高可用解决方案亮相2023世界数字经济大会
  • Kitex踩坑 [Error] KITEX: processing request error,i/o timeout
  • 前端移动web高级详细解析二
  • Cesium 展示——对每段线、点、label做分组实体管理
  • 前端学习之Babel转码器
  • 智能井盖监测系统功能,万宾科技传感器效果
  • LangChain+LLM实战---BERT主要的创新之处和注意力机制中的QKV
  • 使用 @antfu/eslint-config 配置 eslint (包含兼容uniapp方法)
  • 我的架构复盘
  • LangChain+LLM实战---LangChain中的6大核心模块
  • 【Android】Android Framework系列---CarPower电源管理
  • io测试【FPGA】
  • vue项目中页面跳转传参的方法
  • 论文速递 TMC 2023 | RoSeFi: 一种利用商用WiFi设备进行稳健的久坐行为监测系统
  • Day 12 python学习笔记