?
上周的几天里,code coverage+CI的部署把人弄的有点焦头烂额,可能是由于自己的知识范围太窄,对于很多东西都是要从头开始研究,不过这也让自己知道了很多以前不了解的东西。
? ? 言归正传,先说客户想要什么,客户想把代码覆盖率展示在Jenkins下,而且用户比较prefer的report format是Cucumber,cucumber是什么?黄瓜。想了解的童鞋卡看cukes.info。
? ? 接下来,老大给了一个cucumber report for Jenkins plugin的链接,GitHub上的report森森的吸引了我,二话没说按照tutorial开始往下整,这也让我付出了惨痛的代价。太巧了,上面并没有说sbt该如何去搞,所以我也只能想着如何去用mvn clean install来运行。不幸的是,没有pom.xml,怎么办?那就造一个,好吧,开始研究如何构建maven工程,还好比较容易,继续run,问题来了,jenkins的log里面写着cannot found features,搞不懂这个feature是干嘛的,功能文件下也能出来cucumber.json了,也能在jenkins上打开cucumber report的link但永远都是没有展示结果(我的工程下可是有好几十个case),无解,开始骂娘。2011年的时候听到thoughtworks的同事说他们在用cucumber做BDD,所以一直以来也只是知道有这么个东西而已,看样子maven工程也是要去找.feature的文件。还是仔细看一下这个report都report了些什么吧,这次看清楚了,report里面相关的都是feature, scenario还有step, 可是在我的play工程下的case跟这三个关键字又有啥关系呢,所以当我们去运行这些case的时候怎么能出来覆盖率的百分比呢?这个结论是有了,接下来就是看如何让他显示。既然cucumber是做BDD的,那么好,自己搞个ruby的环境,做一个工程,包括.feature和.rb文件,来玩一个BDD(如何去写可以自己去读书),写完以后运行一下:
?
好了,全部都pass了,接下来就去Jenkins上看看我们如何把report显示出来,有两个configuration比较重要:
?
?
?
?
?
所有我们要的都有了,但更重要的是我们要知道怎么用这些去为我们项目所用,见仁见智,自己体会。
?