测试工具:Cucumber与Rcov的使用指南
1. Cucumber是否值得使用
在很长一段时间里,Cucumber及其前身StoryRunner都在我的待办项目列表中,但当时觉得它不太实用。后来促使我开始使用它的一个原因是,我发现自己对Cucumber的很多反对意见,比如需要编写额外代码、测试可能不准确等,与人们对测试驱动开发(TDD)的常见反对意见类似。这让我重新思考,决定深入研究Cucumber。
在使用Cucumber的过程中,我发现它与常规TDD有相似之处。其启动成本通常比我担心的要低,而指定应用程序端到端行为的好处却很高。令人惊讶的是,使用Cucumber时我的编码过程更加专注,对需要完成的任务和下一步要做的事情有了更清晰的认识。
最终形成了一个双重循环:失败的Cucumber测试会触发常规单元测试,而失败的单元测试会触发代码编写。虽然这不是一个完美的类比(单元测试有设计价值,能覆盖Cucumber难以触及的程序区域),但这是理解Cucumber作用的一个好方法。
如果你与客户或非编程人员打交道,一个既使用自然语言又可执行的验收测试的价值是非常高的。不过需要注意的是,尽管Cucumber测试的结构不多,但仍然存在一些。我们即使不使用Cucumber,也倾向于使用Given/When/Then结构来描述用户故事,但在Cucumber中执行这些故事时,仍需要进行一些转换。例如,故事定义在一个场景中可能包含过多内容。为了清晰起见,随着新功能的出现,要准备好反复修改Cucumber步骤。此外,尽量保持步骤命名空间的整洁,在大型项目中,查找步骤可能会成为一个问题。
Cucumber的优势在于它能够轻松指定和记录应用程序的端到端行为。它是
Cucumber与Rcov使用指南
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



