前面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开源组件发布了!相关推荐

  1. 一个帮你轻松搞定第三方登陆的 Java 开源组件

    今天给大家推荐的这个开源项目,可以说非常非常的棒,有了它,可以让你大大提高第三方授权登录开发效率. 没错,这个开源项目就是:JustAuth . 目前这个开源项目的 star 数已经超过了 10k,超 ...

  2. Java开源UML建模

    ArgoUML 使用java编写的开源UML产品,功能比较全.最受欢迎的UML建模工具. Alma Alma是一个软件建模分析的工作平台,它读取几种不同的源代码,帮你设计面向对像的模型,修改结构和源代 ...

  3. OpenJWeb(v1.9)企业级信息化应用平台开源版发布公告(基于Java语言开发)

              OpenJWeb(v1.9) 企业级信息化应用平台 开源版发布公告 (基于Java语言开发)     软件开发人员的创业伴侣.架构参考 软件外包公司的二次开发利器 Java培训机构 ...

  4. OpenJWeb(v1.9) 企业级信息化应用平台开源版发布公告(基于Java语言开发)

    软件开发人员的创业伴侣.架构参考 软件外包公司的二次开发利器 Java培训机构的经典实战教程 政府.企业节约信息化成本的法宝   关键词  :java web应用 企业级 信息化 快速开发平台 发布时 ...

  5. Java开源网络服务器端组件

    来源于:http://www.open-open.com   QuickServer QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程.多客户端TCP服务器应用程序.使用Q ...

  6. 中国高校首个Apache开源项目 清华数为物联网时序数据库IoTDB 及可自由组装的大数据软件栈系列组件发布...

    四月的清华园,百花冠冕,春意盎然. 4月25日,清华软件学院师生校友相约云端,共贺清华大学109周年校庆,软件学院建院19周年. 由于疫情防控需要,软件学院通过腾讯会议和学堂在线在线直播方式,举办&q ...

  7. java开源网络服务器端组件_OpenNMS - 网络服务器端组件 - 组件类库 - JAVA开源项目 - 开源吧...

    相关开源项目 Jsmtpd:Jsmtpd是一个简洁的Email服务器,完全用Java开发.它基本的功能是可以利用SMTP协议来发送Email.Jsmtpd的其它功能是以插件模块的形式来实现,支持TLS ...

  8. java去掉rn,React Native删除第三方开源组件的依赖包

    最近项目即将上线,但是遇到了一个问题,安装之后第一次打开时,在有的Android手机上崩溃,之后再次运行就好了,好多Android机型都遇到这种情况,定位问题,发现是之前加载的第三方开源控件:reac ...

  9. 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 ...

最新文章

  1. 图像分区域合成,这个新方法实现了人脸的「精准整容」
  2. C#反射(Reflection)详解
  3. 20155313 2016-2017-2 《Java程序设计》第二周学习总结
  4. springboot13 发布和监听事件
  5. spss如何选择需要的变量?
  6. sql读取excel数据_Python 读取 Excel 数据,并插入到MySQL
  7. rk3568 LTE(EC20)
  8. 阿里云 echarts地图json生成器 精确到区县。
  9. 网络编程-网路七层协议图
  10. 给闪讯加装路由器的一个简单方法
  11. Android集成FBReader(精简版)指南
  12. 泰国计算机专业大学排名,清迈大学在泰国的排名
  13. 智汀如何让绿米Aqara无线开关一键联动不同品牌的智能设备?以智汀窗帘电机、星辰智能台灯为例
  14. 关于‘\0’,‘0’,“0”,0的区别
  15. 机器学习-21-Unsupervised Learning-05-Word Embedding(无监督学习之词嵌入)
  16. lsi 搜驱动 H755 H740P chipset
  17. 第十周 项目三 小学生考试系统
  18. 程序设计综合实践题库答案
  19. Oracle实验五Sql语句
  20. JavaScript实现走马灯效果[无缝连接、循环滚动]

热门文章

  1. 骑士周游算法 c语言_C语言经典算法04--骑士走棋盘(骑士旅游:Knight tour)
  2. 如果去掉数学前后的空格_理综+数学+地理+英语完型的方法和技巧
  3. android textview import,android – textview中的镜像文本?
  4. 赣州光华职业技术学校计算机专业,赣州光华职业技术学校
  5. mysql数据库各表、数据库数据容量查询
  6. input must have last dimension = k = 3 but is 2 for 'TopKV2_这种错误是怎么产生的
  7. 小波变换如何去噪的思想
  8. 减少训练成本的一个方法
  9. msk误码率 matlab仿真,GMSK调制解调的MATLAB仿真与误码率分析.pdf
  10. mysql分组取出每组地一条数据_MySQL 分组后取每组前N条数据