《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,你需要修改解决方案以使该特性通过吗?

相关文章
|
开发者
探索代码之美:编程的艺术与实践
【6月更文挑战第4天】在数字时代的浪潮中,编程已成为连接想象与现实的桥梁。本文将带领读者深入编程的世界,从基础逻辑的构建到复杂系统的实现,探讨如何通过技术手段解决实际问题,并分享作者在编程实践中的心得体会。我们将一起见证代码如何转化为艺术,以及这一过程如何影响我们的思考方式和解决问题的策略。
|
运维 监控 Unix
htop命令详解
`htop`是Unix-like系统的一款增强版进程查看器,基于ncurses,提供实时系统监控、交互式导航、彩色界面和多核支持。用户可通过键盘或鼠标操作,如排序、搜索、过滤进程,直接发送信号(如`F9`杀进程)等。常用快捷键包括`P`(按CPU排序)、`F3`(搜索进程)、`F2`(设置)和`F10`(退出)。它是`top`的现代替代品,提升资源管理和故障排查效率。
721 2
|
设计模式 负载均衡 监控
深入理解后端开发中的微服务架构
在现代软件开发领域,微服务架构已经成为一种流行的设计模式。本文将探讨微服务的基本概念、优势与挑战,并通过实例展示如何在实际项目中应用微服务架构。无论是初学者还是经验丰富的开发者,都能从中获得启发和实用技巧。
166 7
|
设计模式 前端开发 Shell
Python生成Web页面Web框架
Python生成Web页面Web框架
149 0
|
SQL 分布式计算 Spark
SPARK SQL中 CTE(with表达式)会影响性能么?
SPARK SQL中 CTE(with表达式)会影响性能么?
1021 0
SPARK SQL中 CTE(with表达式)会影响性能么?
|
存储 SQL NoSQL
【面试题系列】混合夺命21问,你能扛到第几问?
目录 1. Mysql索引在什么情况下会失效 2. MySql的存储引擎InnoDB与MyISAM的区别 3. mysql在项目中的优化场景,慢查询解决等 4. Mysql有什么索引,索引模型是什么 5. B-树与B+树的区别?为什么不用红黑树 6. Mysql主从同步怎么做 7. 乐观锁与悲观锁的区别? 8. 聊聊binlog日志 9. Redis 持久化有哪几种方式,怎么选? 9.1 AOF 持久化 9.2 RDB 9.3 如何选择RDB和AOF 10. Redis 主从同步是
609 0
【面试题系列】混合夺命21问,你能扛到第几问?
|
数据库
|
数据采集 存储 算法
语音直播系统,关于限流需要掌握哪些知识?
语音直播系统,关于限流需要掌握哪些知识?
089.配对新郎和新娘
089.配对新郎和新娘
138 0