ExcelBDD-Java开源组件发布了!
前面6月12日发布了ExcelBDD的PowerShell组件,见《ExcelBDD开源啦!暨PowerShell ExcelBDD发布》,
6月14日上文介绍了ExcelBDD开源敏捷项目启动了!暨介绍微软Agile+DevOps免费平台-dev.azure.com。
最新发布了ExcelBDD-Java开源组件第1版,最新版本号0.3.0,在search.maven.org刚刚可以搜到。Maven导入的语句如下
<dependency><groupId>com.excelbdd</groupId><artifactId>excelbdd-java</artifactId><version>0.1.4</version>
</dependency>
前面文章(利用Excel BDD来表达典型用户故事)已经介绍了要解决的场景与及相应代码,结合本次发布,展示Cucumber当中的一个列子,作为对比,看看ExcelBDD如何解决。例子的Feature文件如下:
Feature: Is it Friday yet?Everybody wants to know when it's FridayScenario: Sunday isn't FridayGiven today is SundayWhen I ask whether it's Friday yetThen I should be told "Nope"
以上来自 Cucumber
按ExcelBDD改写得到如下
然后,利用ExcelBDD-Java小工具从中读出,Junit5样例如下
static Stream<Map<String, String>> provideExampleList() {String filePath = TestWizard.getExcelBDDStartPath("TestData") + "TestData\\src\\test\\resources\\kq\\testdata\\excel.xlsx";return Behavior.getExampleSteam(filePath, "WeekDayCheck");}@ParameterizedTest(name = "#{index} - Test with Map : {0}")@MethodSource("provideExampleList")final void test(Map<String, String> mapParams) {String actualAnswer;if(mapParams.get("Day").equals(mapParams.get("DayOfWeek"))){actualAnswer = "Yup";}else{actualAnswer = "Nope";}assertEquals(mapParams.get("Answer"), actualAnswer);}
对比Cucumber,Cucumber需要为GWT每一行写对应的StepDefinaton,ExcelBDD把参数被全部封装在Map里面,不需要写StepDefiniton,后续无论添加多少参数,都可以从Map当中直接获得,只需直接取值,把对比逻辑写好即可。以上取数相关代码行数不超过8行。
Cucumber要先定义变量,设置变量,在对比逻辑之前需要手工完成多项准备,Cucumber虽然提供了样例代码,但还是需要几个手工步骤去处理。随着GWT步骤增加,取数设置变量的代码行数也随之增加,每个步骤至少需要3行,正常一个场景大概需要30行代码来取数。
当然更加关键是不因为Gherkin语法去限制产品经理,Excel支持多种格式,颜色,超级链接等等,支持承载图片。
在扩充案例时,无需改动代码,在Excel里面添加更多场景即可,比如扩充到如下:
以上代码不需要更改,执行得到3组数据的测试结果,如下样例。
最后说明,ExcelBDD-Java当前发布还在早期,使用量还不大,书写此文让大家知道下,如果能够得到早期使用,结合反馈能够优化得更好。
欢迎试用。
本开源项目目前只给出了Java和PowerShell两个语言的小工具,无论新语言还是老语言,还是文档等等,都缺人,继续招募开源志愿者,点击原文链接了解更多,有意者扫码联络我。
加入此项目可以期望的收益:实操敏捷和DevOps,掌握产品分析、掌握BDD和TDD。现成福利:自由访问欣奔敏捷星球上各种案例、教材、文章和代码等等,目前上面已经累积到约700条,从IT到业务的敏捷实践以及DevOps建设实战情况,提供最鲜活的真实案例,也有多套敏捷DevOps教材。
(欣奔敏捷星球记录了从IT到业务的敏捷实践以及DevOps建设实战情况,提供最鲜活的真实案例。也有成员基于实践情况的提问和解答,星主提供远程教练咨询服务。目前积累内容包括全套敏捷项目管理教材,ScrumBan欣奔版,需求流模式,DevOps具体解决方案。)
ExcelBDD-Java开源组件发布了!相关推荐
- 一个帮你轻松搞定第三方登陆的 Java 开源组件
今天给大家推荐的这个开源项目,可以说非常非常的棒,有了它,可以让你大大提高第三方授权登录开发效率. 没错,这个开源项目就是:JustAuth . 目前这个开源项目的 star 数已经超过了 10k,超 ...
- Java开源UML建模
ArgoUML 使用java编写的开源UML产品,功能比较全.最受欢迎的UML建模工具. Alma Alma是一个软件建模分析的工作平台,它读取几种不同的源代码,帮你设计面向对像的模型,修改结构和源代 ...
- OpenJWeb(v1.9)企业级信息化应用平台开源版发布公告(基于Java语言开发)
OpenJWeb(v1.9) 企业级信息化应用平台 开源版发布公告 (基于Java语言开发) 软件开发人员的创业伴侣.架构参考 软件外包公司的二次开发利器 Java培训机构 ...
- OpenJWeb(v1.9) 企业级信息化应用平台开源版发布公告(基于Java语言开发)
软件开发人员的创业伴侣.架构参考 软件外包公司的二次开发利器 Java培训机构的经典实战教程 政府.企业节约信息化成本的法宝 关键词 :java web应用 企业级 信息化 快速开发平台 发布时 ...
- Java开源网络服务器端组件
来源于:http://www.open-open.com QuickServer QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程.多客户端TCP服务器应用程序.使用Q ...
- 中国高校首个Apache开源项目 清华数为物联网时序数据库IoTDB 及可自由组装的大数据软件栈系列组件发布...
四月的清华园,百花冠冕,春意盎然. 4月25日,清华软件学院师生校友相约云端,共贺清华大学109周年校庆,软件学院建院19周年. 由于疫情防控需要,软件学院通过腾讯会议和学堂在线在线直播方式,举办&q ...
- java开源网络服务器端组件_OpenNMS - 网络服务器端组件 - 组件类库 - JAVA开源项目 - 开源吧...
相关开源项目 Jsmtpd:Jsmtpd是一个简洁的Email服务器,完全用Java开发.它基本的功能是可以利用SMTP协议来发送Email.Jsmtpd的其它功能是以插件模块的形式来实现,支持TLS ...
- java去掉rn,React Native删除第三方开源组件的依赖包
最近项目即将上线,但是遇到了一个问题,安装之后第一次打开时,在有的Android手机上崩溃,之后再次运行就好了,好多Android机型都遇到这种情况,定位问题,发现是之前加载的第三方开源控件:reac ...
- SSH客户端开发开源组件Ganymed SSH-2 for Java初体验
1.Ganymed SSH-2 for Java Ganymed SSH-2 for Java是一个纯Java实现的SHH2库. 看官方介绍: Ganymed SSH-2 for Java is a ...
最新文章
- 图像分区域合成,这个新方法实现了人脸的「精准整容」
- C#反射(Reflection)详解
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
- springboot13 发布和监听事件
- spss如何选择需要的变量?
- sql读取excel数据_Python 读取 Excel 数据,并插入到MySQL
- rk3568 LTE(EC20)
- 阿里云 echarts地图json生成器 精确到区县。
- 网络编程-网路七层协议图
- 给闪讯加装路由器的一个简单方法
- Android集成FBReader(精简版)指南
- 泰国计算机专业大学排名,清迈大学在泰国的排名
- 智汀如何让绿米Aqara无线开关一键联动不同品牌的智能设备?以智汀窗帘电机、星辰智能台灯为例
- 关于‘\0’,‘0’,“0”,0的区别
- 机器学习-21-Unsupervised Learning-05-Word Embedding(无监督学习之词嵌入)
- lsi 搜驱动 H755 H740P chipset
- 第十周 项目三 小学生考试系统
- 程序设计综合实践题库答案
- Oracle实验五Sql语句
- JavaScript实现走马灯效果[无缝连接、循环滚动]
热门文章
- 骑士周游算法 c语言_C语言经典算法04--骑士走棋盘(骑士旅游:Knight tour)
- 如果去掉数学前后的空格_理综+数学+地理+英语完型的方法和技巧
- android textview import,android – textview中的镜像文本?
- 赣州光华职业技术学校计算机专业,赣州光华职业技术学校
- mysql数据库各表、数据库数据容量查询
- input must have last dimension = k = 3 but is 2 for 'TopKV2_这种错误是怎么产生的
- 小波变换如何去噪的思想
- 减少训练成本的一个方法
- msk误码率 matlab仿真,GMSK调制解调的MATLAB仿真与误码率分析.pdf
- mysql分组取出每组地一条数据_MySQL 分组后取每组前N条数据