《Cucumber:行为驱动开发指南》——2.9 我们学到了什么

简介: 关于使用Cucumber由外向内开发这种方式,有一点我们非常喜爱,就是它能帮助我们保持注意力集中,我们可以让 Cucumber 指导自己一步步向前,直到完成工作,让我们把精力集中在如何创建一个优雅的解决方案上。

本节书摘来自异步社区《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,你需要修改解决方案以使该特性通过吗?

相关文章
|
敏捷开发 自然语言处理 Java
Cucumber -基于 behave 自动化测试指南 (一)
基于 behave 自动化测试系列教程
|
测试技术 持续交付 数据库
|
测试技术
《Cucumber:行为驱动开发指南》——6.5 我们学到了什么
Cucumber特性对公司来说是一笔宝贵的财富。我们曾见过有团队将他们系统中大块大块的部分推倒重写,知道自己有一组准确的、可执行的规范来确保新的方案会运行得跟原来一样好,他们自不必担心什么。对这些团队来说,特性比产品代码本身更有价值。
1569 0
|
存储 测试技术 Ruby
《Cucumber:行为驱动开发指南》——1.5 我们学到了什么
只有开发人员和利益相关人一起清晰地交流的时候,软件团队才能工作得最好。要做到这一点有一种非常好的方法,就是让开发人员和业务人员基于自动化验收测试,协作描述需要完成的工作。
1437 0
|
前端开发 程序员 数据安全/隐私保护
《Cucumber:行为驱动开发指南》——6.2 同心协力
这个场景中有很多细节:有主要角色Dave的用户名和密码,还有另一个用户Sue的用户名和密码。用户名非常有用,因为它们有助于场景故事的描述,而密码就是噪音了:用户密码与被测内容毫无关系,事实上却让测试更难读懂。比如,Sue的密码跟Dave不同。
1872 0
|
测试技术 Ruby
《Cucumber:行为驱动开发指南》——导读
从一个失败的Cucumber测试开始,然后通过这种失败来驱动应用代码的开发工作,作为一种由外向内的开发方法的一部分,我们已经用Cucumber取得了极大的成功。作为开发人员,这种工作方式能让我们实事求是,一步一个脚印,避免我们想当然地开发将来也许有需求但当前没有需求的功能。
2607 0