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开源组件发布了!的主要内容,如果未能解决你的问题,请参考以下文章

ExcelBDD-Java开源组件发布了!

Java开源-astar:A 星算法

不到1000行代码,GitHub 1400星,天才黑客开源深度学习框架tinygrad

开店星简直就是国内优秀的开源商城系统天花板

开店星简直就是国内优秀的开源商城系统天花板

开店星简直就是国内优秀的开源商城系统天花板