Cucumber 入门【转】
2015-09-02 10:27
288 查看
原文出自: http://www.51testing.com/html/17/15039717-2426501.html
一、简介
Cucumber 是一个能够理解用普通语言 描述的[b]测试用例[/b]的行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和·Net等多种开发语言。
Cucumber可以让人们用近似自然的语言去描述Feature和场景,根据Feature驱动开发。
用作软件技术人员和非技术之间验收测试的桥梁。
它是一个命令行工具。运行后,会执行features中的内容。feature中的step会调用step definitions(Ruby代码)
可以用标签来组织场景
支持40多种语言
高质量集成Ruby
二、Cucumber三大组成
Features、Step_definitions、Cucumber command。
对应传统测试工具:
Feature (功能)test suite (测试用例集)
Scenario(情景)test case (测试用例)
Given(给定)setup(创建测试所需环境)
When(当)test(触发被测事件)
Then(则)assert(断言,验证结果)
工作原理:
三、Features
语法规则:基于Gherkin。支持语言:# language: en (zh-CN)等
Features文件必须以.features命名。
包含title,多个scenarios,每个scenario包含多个step。
Step定义必须以关键字Given,When,Then,And开始。
四、Step_definitions
根据feature文件中定义的step编写对应的测试代码。
五、Cucumber command
运行:*.feature文件。cucumber会分析feature文件中定义的step,然后去step definitions寻找相匹配的step,执行step中的代码。
运行结果以html的形式保存,fail的情况查看对应log日志
六、Cucumber的开发过程
a. 创建feature文件,包括feature,scenarios和step。
b. 创建step_definitions,即RUBY代码并实现。如果只有step,没有step definitions,会报undefined错。Ruby写法:Given /^the input "([^"]*)"$/ do |arg1|。运行feature,控制台中会输出RUBY的实现方法,只要实现step_definitions即可。
c. cucumber --format progress。格式化输出。可修改为html,xml等格式输出。
添加断言:
一个场景失败,Cucumber将此场景标记失败,转去执行下一场景。
一个step失败,会跳过这个scenario的其余step,从而终止这个scenario。
6. Gherkin方法:
a. 关键字:
•Background
• Scenario
• Given
• When
• Then
• And
• But
• *
• Scenario Outline
• Examples
2. 编译feature文件:$ cucumber test.feature --dry-run
3. 日志说明:黄色-未定义step。绿色-通过。红色-报错。
7. Scenario:第个功能约有五到二十个场景。
8. Cucumber集成Java资料:
https://github.com/cucumber/cucumber-jvm
一、简介
Cucumber 是一个能够理解用普通语言 描述的[b]测试用例[/b]的行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和·Net等多种开发语言。
Cucumber可以让人们用近似自然的语言去描述Feature和场景,根据Feature驱动开发。
用作软件技术人员和非技术之间验收测试的桥梁。
它是一个命令行工具。运行后,会执行features中的内容。feature中的step会调用step definitions(Ruby代码)
可以用标签来组织场景
支持40多种语言
高质量集成Ruby
二、Cucumber三大组成
Features、Step_definitions、Cucumber command。
对应传统测试工具:
Feature (功能)test suite (测试用例集)
Scenario(情景)test case (测试用例)
Given(给定)setup(创建测试所需环境)
When(当)test(触发被测事件)
Then(则)assert(断言,验证结果)
工作原理:
三、Features
语法规则:基于Gherkin。支持语言:# language: en (zh-CN)等
Features文件必须以.features命名。
包含title,多个scenarios,每个scenario包含多个step。
Step定义必须以关键字Given,When,Then,And开始。
四、Step_definitions
根据feature文件中定义的step编写对应的测试代码。
五、Cucumber command
运行:*.feature文件。cucumber会分析feature文件中定义的step,然后去step definitions寻找相匹配的step,执行step中的代码。
运行结果以html的形式保存,fail的情况查看对应log日志
六、Cucumber的开发过程
a. 创建feature文件,包括feature,scenarios和step。
b. 创建step_definitions,即RUBY代码并实现。如果只有step,没有step definitions,会报undefined错。Ruby写法:Given /^the input "([^"]*)"$/ do |arg1|。运行feature,控制台中会输出RUBY的实现方法,只要实现step_definitions即可。
c. cucumber --format progress。格式化输出。可修改为html,xml等格式输出。
添加断言:
一个场景失败,Cucumber将此场景标记失败,转去执行下一场景。
一个step失败,会跳过这个scenario的其余step,从而终止这个scenario。
6. Gherkin方法:
a. 关键字:
•Background
• Scenario
• Given
• When
• Then
• And
• But
• *
• Scenario Outline
• Examples
2. 编译feature文件:$ cucumber test.feature --dry-run
3. 日志说明:黄色-未定义step。绿色-通过。红色-报错。
7. Scenario:第个功能约有五到二十个场景。
8. Cucumber集成Java资料:
https://github.com/cucumber/cucumber-jvm
相关文章推荐
- 给hackrf加上1602LCD以及UART(附带固件编译方法)
- jQuery使用代码总结
- Swift 开发 Uther 小记 - 一个简单的蠢萌机器人
- 后端分布式系列:分布式存储-HDFS 异常处理与恢复
- 后端分布式系列:分布式存储-HDFS 异常处理与恢复
- 快速排序
- 主线程的退出问题
- 使用copy命令拷贝数据表
- HDU2553 N皇后问题(回溯)
- 85 XML解析示例
- 后端分布式系列:分布式存储-HDFS 异常处理与恢复
- HDFS 异常处理与恢复
- JavaScript中this详解
- 二进制 八进制 十进制 十六进制 转换
- [转]jQuery 双击事件(dblclick)时,不触发单击事件(click)
- Hibernate调优之select new map()
- CentOS7安装配置redis-3.0.0
- eclipse一直停留在Loading workbench界面上的处理办法
- HTTPS
- [队列]判断出栈序列