《Cucumber:行为驱动开发指南》——2.1 理解我们的目标

简介: 关于这个计算器的未来,我们有一个美好的愿景:一个能够在手机、桌面和浏览器上运行的云端服务,借助通用的数学操作符“团结”整个世界。不过等等,我们是务实的业务人员,因此这个程序的第一个版本应该尽可能简单。第一个版本将是一个用Ruby脚本实现的命令行程序。

本节书摘来自异步社区《Cucumber:行为驱动开发指南》一书中的第2章,第2.1节,作者:【英】Matt Wynne , 【挪】Aslak Hellesy著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 Cucumber初体验

我猜你已经等不及要立刻试试自己的“新玩具”了,下面我们通过一个简单的例子来体会一下使用Cucumber工作是怎样的感觉。在此过程中你也许无法完全理解其中的某些部分,但不必担心,接下来的几章我们会回过头来补充相应的细节。

我们将以由外向内的方式构建一个简单的命令行应用程序,整个开发过程由Cucumber驱动。注意我们是如何小步前进的,每次修改之后我们都会回头运行一下 Cucumber。这种不厌其烦的节奏对于有效使用Cucumber非常重要,关于这一点,实际演示比口头解释更有说服力。

如果想一步步遵循本章的演示的步骤来操作(你会发现这么做其实非常有趣),你需要首先安装Cucumber。如果你还未安装Cucumber,请参考附录B给出的安装指令。

好,那我们开始吧。

2.1 理解我们的目标

我们的目标是编写一个能够执行计算的程序,有些人称之为计算器。

关于这个计算器的未来,我们有一个美好的愿景:一个能够在手机、桌面和浏览器上运行的云端服务,借助通用的数学操作符“团结”整个世界。不过等等,我们是务实的业务人员,因此这个程序的第一个版本应该尽可能简单。第一个版本将是一个用Ruby脚本实现的命令行程序。它接受计算输入,计算完成后在命令行显示结果。

例如,如果输入的内容是

2+2
那么输出应该是4。

类似地,如果输入的内容是

100/2
那么输出就应该是50。

我想你应该明白了。

相关文章
|
Ruby
《Cucumber:行为驱动开发指南》——2.3 创建步骤定义
现在在fetures/step_definitions目录下创建一个名为calculator_steps.rb的文件,只要这是一个Ruby文件,Cucumber并不介意你给这个文件起什么名字,但这里我们给这个文件起的名字其实不错。
2388 0
|
测试技术 C语言
《测试驱动的嵌入式C语言开发》——第2章测试驱动开发的工具和约定
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第2章测试驱动开发的工具和约定,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1123 0
|
测试技术 C语言
《测试驱动的嵌入式C语言开发》——1.2节什么是测试驱动开发
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第1章,第1.2节什么是测试驱动开发,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1488 0
|
测试技术 C语言
《测试驱动的嵌入式C语言开发》——第1章测试驱动开发
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第1章测试驱动开发,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1298 0
|
测试技术 C语言 开发者
《测试驱动的嵌入式C语言开发》——3.7节测试驱动开发者的状态机
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第3章,第3.7节测试驱动开发者的状态机,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1413 0
|
测试技术 程序员 C语言
《测试驱动的嵌入式C语言开发》——1.3节TDD的机理
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第1章,第1.3节TDD的机理,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1213 0
|
程序员 测试技术 数据库
《Cucumber:行为驱动开发指南》——6.3 照管好你的测试
自动化特性的好处在于你可以把它们作为活文档来长期信赖,因为你会将每一个场景都用于检查产品代码,以确保它们仍然有效。对于同代码打交道的程序员来说,这还有另一件好处:在他们开发系统的时候,那些测试可以充当安全网,对任何破坏已有行为的错误都给出警告。
2332 0
|
前端开发 JavaScript 测试技术
《Cucumber:行为驱动开发指南》——2.2 创建一个特性
Gherkin特性是面向业务的,再往下一层是步骤定义,不过在探索这一层之前有必要快速看一看全局图,以防有人感到困惑。图2-1可以提醒我们各种元素是如何组织在一起的,我们从包含场景和步骤的特性开始,场景中的步骤会访问步骤定义,后者将Gherkin特性和我们构建的应用程序连接在一起。
2098 0
|
Ruby
《Cucumber:行为驱动开发指南》——1.4 Cucumber如何工作
Cucumber是一个命令行工具。运行时它会从普通语言编写的称为特性(feature)的文本文件中读取你的规格说明,解析需要测试的场景(scenario),然后针对你的系统运行这些场景以达到测试的目的。
2161 0
下一篇
无影云桌面