本节书摘来自异步社区《Cucumber:行为驱动开发指南》一书中的第2章,第2.9节,作者:【英】Matt Wynne , 【挪】Aslak Hellesy著,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.9 我们学到了什么
在本章中我们快速浏览了许多不同的内容,所有这些内容都会在后面再次详细介绍,现在来做一个简单的小结并强调几个最重要的地方。
2.9.1 目录结构
Cucumber希望你用约定的目录结构来存储特性和步骤定义:
features/
adding.feature
…
step_definitions/
calculator_steps.rb
…
如果你真的需要,也可以传递参数给Cucumber,从而改变默认结构,优先使用自己指定的目录结构,但这种按约定存储文件的方法是最简单的。
2.9.2 小步前进
在我们慢慢推进这个例子的进程中,你是否注意到我们多久运行一次cucumber?
关于使用Cucumber由外向内开发这种方式,有一点我们非常喜爱,就是它能帮助我们保持注意力集中,我们可以让 Cucumber 指导自己一步步向前,直到完成工作,让我们把精力集中在如何创建一个优雅的解决方案上。每做一处修改都运行一次Cucumber,就能快速发现引入的错误并立刻修复,有关整个工作的进展,我们也得到了大量的反馈和激励。
2.9.3 Gherkin
Cucumber测试通过名为Gherkin的语法描述,Gherkin文件是使用.feature扩展名的简单文本文件。我们将在第3章中进一步介绍Gherkin。
2.9.4 步骤定义
步骤定义是Cucumber测试和待测应用程序之间的Ruby“粘合剂”,当所有元素一起工作时,整个情形如图2-1所示。
你会在第4章中学到更多关于步骤定义的内容。
经过这个短暂的Cucumber特性旅程之后,我们将放慢速度并逐渐深入。我们将在接下来的几章中一层一层地介绍每个主题,首先从用来编写Cucumber特性的语言——Gherkin开始。
尝试一下
看看自己是否能用本章开头的另外一个实例来添加第二个特性,即division.feature,你需要修改解决方案以使该特性通过吗?