ExcelBDD-Java开源组件发布了!
Posted zhangmike
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 Friday
Scenario: Sunday isn't Friday
Given today is Sunday
When I ask whether it's Friday yet
Then 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开源组件发布了!的主要内容,如果未能解决你的问题,请参考以下文章