easyb,我对你终于失去了耐心

很多年前,我还不知道BDD为何物。

当我做测试的时候,我就想能不能有一个工具,能够边写测试边写文档,测试完成了,文档也完成了。

甚至想做一些annotation,按照某个规范编写测试,就能根据这些annotation产生出文档。

一直没有时间做,就把这事情放下了,直到遇见的jsspec

我开始使用jsspec编写BDD测试。可是不过瘾。因为js大量的是UI交互,把这些交互过程也写成jsspec太痛苦了。

 

最近终于有机会开始使用easyb测试我那复杂的工作流项目。

easyb的一切看上去是那么美好:强大的动态语言groovy,清晰的BDD概念,简洁的easyb DSL...

我花了整整一周的时间使用它,一直到今天下午写完了我的第10个scenario。但是,我终于------我厌烦了!

不能说这是easyb的错,只是Java/Groovy相关很多问题集中到了一起。

下面列举它们的种种不爽之处:

 

  1. easyb没有eclipse插件,我得用ant来做开发。再也看不到junit那美丽的绿色条了
  2. 乱码,还是乱码。我折腾了一天,。只找到一个解决办法:不使用ant,直接用easyb的命令行。算了,开发用ant编译,到时候要生成文档再用Java命令行吧。
  3. 编辑器太糟糕了,本来groovy还能有点代码提示。如今dsl了,代码提示,这个就不用想了。这个不怪easyb的事,怪就怪groovy没有一个优秀的编辑器。groovy eclipse plugin也就勉强可用
  4. 最头疼的事情来了:这也来源于groovy的问题,只是由于easyb对groovy又做了dsl,造成:出错的行号不见了。你测试代码的时候总会出错吧,总要找到第几行出错吧,但是,easy了以后,很多的错误就像这样:test.executable.Script1$_run_closure3_closure10.doCall(Script1.groovy:130)。并且,在story.xml中的错误信息还不全。
  5. BDD产生的测试文档真的好用吗?我看了我写的10个场景,仍然不知所云。很多地方需要嵌入图片才可能描述清楚。可是,easyb的dsl还没有强大到可以嵌入图片

种种问题组合在一起,开发效率并没有因为动态语言而增加,反而3和4的原因开发效率降低了;产生的文档也没有想象中那么美。既然没有什么好处,为什么不回去使用我的junit呢

 

别了easyb,也许过几年等你成熟了我会重新投入你的怀抱。现在还是回去看我的绿色条吧。

 

下面再把这几天的成果留一点足迹吧。

使用命令行解决乱码问题,注意类路径要保护easyb的那三个jar包

java -Dfile.encoding=utf-8 org.easyb.BehaviorRunner builder.story -txtstory target.txt

 

一个能运行的ant脚本:

 

一个成功的scenario,注意要以.story或者.Story.groovy结尾

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...