NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

采访.NET 版 Cucumber 的创始人 Aslak Hellesøy

  • 2009-11-22
  • 本文字数:991 字

    阅读完需:约 3 分钟

Aslak: 先从两者的相似之处开始吧!FIT 和 Cucumber 都是命令行工具。实际上,Fitnesse 是基于 FIT 的 Wiki 工具。 测试语言

FIT/Fitnesse 和 Cucumber 都执行高级语言编写的验收测试。FIT 仅识别 HTML,Fitnesse 则通过提供 Wiki 语法来简化编写测试的过程。在 FIT/Fitnesse 当中,所有的测试都以表格的形式呈现。

另一方面,Cucumber 让用户用纯文本文件且不受英语的限制来编写测试。例如:Ou Français. Eller norsk. или Русский。它支持超过 40 种语言。事实上,Cucumber 从关键字"Scenario"、“Given”、"When"或"Then"开始识别代码。

当然,Cucumber 还可以在文本中镶嵌表格,故我们可以编写混合面向行为和面向数据的测试。有趣的是,Fitnesse 现在支持在表格中使用 Scenario、Given、When 和 Then 关键字,所以我们可以通过两种方式来完成工作。这是一种良性竞争。

以下是 Cucumber 示例,.feature 文件在文本中参杂了表格:

复制代码
# language: en
Feature: Addition
  In order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
Scenario Outline: Add two numbers
Given I have entered <input_1> into the calculator
And I have entered <input_2> into the calculator
When I press <button>
Then the result should be <output> on the screen
Examples:
| input_1 | input_2 | button | output |
| 20 | 30 | add | 50 |
| 2 | 5 | add | 7 |
| 0 | 40 | add | 40 |<b><br></br></b>

编程语言

Fit 和 Cucumber 都需要“胶合”代码,它处于高级语言和测试语言之间。在 FIT,这称作固定项,在 Cucumber 中,称作步骤定义。Cucumber 可以用 C#、Java、Scala、Clojure、Groovy、Javascript、Ioke 和 Ruby 来写步骤定义,所以在这方面 Cucumber 比 FIT 用途更广。

以下是 C#编写的步骤定义,匹配上例中在计算器中输入代码的实例:

复制代码
[Given(@"^I have entered (\d+) into the calculator$")]
public void EnterNumber(double n)
{
_calculator.Push(n);
}

编辑器
FitNesse 比 Cucumber 的优势在于 Wiki 支持。Cucumber 目前还没有基于网页的编辑器,让非技术人员来编辑验收测试。虽然有一款工具叫 Lowdown,但是它不支持表格,所以它很快就落伍了。JetBrains 公司的 RubyMine 有合适的编辑器,但是它主要面向程序员。

2009-11-22 22:332333
用户头像

发布了 87 篇内容, 共 20.3 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

消息队列的七种经典应用场景

不在线第一只蜗牛

消息队列

小米汽车 27 分钟大定破突破 5 万台;中国在全球率先商用 5.5G 丨 RTE 开发者日报 Vol.174

声网

启信宝商业大数据助力全国经济普查

合合技术团队

人工智能 商业大数据 启信宝

软件测试学习笔记丨基于Gitlab的持续集成机制

测试人

软件测试

cgroup、资源池、用户的关系..涉及到GaussDB(DWS)的资源设置

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

MySQL索引优化:选择合适的索引类型

gogo

Bartender 5 for Mac:菜单栏图标管理软件

iMac小白

三思超100㎡ P0.9 8K LED大屏登陆广东佛山丨一屏控全局

电子信息发烧客

亮数据,可视化数据采集强大利器

陈橘又青

数据采集

深入浅出:易懂的 Windows 平台 cURL 命令使用教程

Liam

Java 程序员 后端 API curl

与鲸同行,智领未来!和鲸科技“人工智能+X”学科建设合作交流会(北京站)圆满结束!

ModelWhale

人工智能 大数据 数据科学 实验室 新型基础设施建设

如何专业、正确地使用LED租赁屏

Dylan

技术 音乐 视觉 LED LED显示屏

来,把弹幕打在鸿蒙原生应用上!B站完成鸿蒙原生应用Beta版本开发

最新动态

支持M1、IntelliJ IDEA 2023.3.6中文版 附 激活版

iMac小白

大模型提示工程之Prompt框架和示例

EquatorCoco

LLM Prompt

一文读懂,新质生产力!

天津汇柏科技有限公司

新质生产力

深度剖析鞋服品牌商品数字化管理的重要性

第七在线

一张二维码VS一个行李箱?!看华为云时习知如何助力防城港核电基本安全考试

华为云PaaS服务小智

云计算 数字化转型 华为云

当法式美学遇上鸿蒙生态,Hi畅享70 Pro 5G演绎科技浪漫?

Geek_2d6073

如何提高知识库系统管理水平?

秃头小帅oi

纪念金庸先生百年诞辰:华为阅读全线上线金庸先生经典作品,致敬武侠巨匠

最新动态

Beyond Compare 4 中文版 「Macos文件同步对比工具」

iMac小白

2024鲸鸿动能开发者变现服务沙龙首站启幕

最新动态

Python数据库编程全指南SQLite和MySQL实践

快乐非自愿限量之名

Python MySQL 数据库

一则关于Go的高级构建指北

这我可不懂

一文聊透数字化转型,获得企业未来生存的入场券

同道说

产品 架构 数据 趋势 数字化

站群服务器优化技巧:提升网站速度与搜索引擎排名

一只扑棱蛾子

站群服务器

值得思考的两个测试面试题

老张

软件测试 面试经验

智能消息推送SDK产品:移动APP拉新促活的利器

MobTech袤博科技

Mac上非常好用的软件序列号查询工具:KCNScrew for mac激活版

iMac小白

苹果Mac电脑最好用的markdown写作软件:Ulysses for Mac最新激活

iMac小白

采访.NET版Cucumber的创始人Aslak Hellesøy_研发效能_Jon Arild Tørresdal_InfoQ精选文章