您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: