`

Cucumber 入门学习

 
阅读更多
1、Cucumber是什么
     Cucumber是一个在敏捷团队十分流行的自动化的功能测试工具,但是其不仅仅是一个测试工具,它能够为我们建立一个易读的,可执行的特性文档。

2、Cucumber的特点
(1)、易于安装,使用。无论是在Ruby平台,.Net平台,Java平台安装都很容易。
(2)、集成度高,对开发环境没有破坏,并和多种Web开发框架集成。
(3)、易于理解,Cucumber的特性文档都是采用近似于普通文本的语法写成,很容易读懂和编写,甚至是非技术人员都可以编写。
(4)、易于维护,因Cucumber是从用户的业务逻辑出发去写测试,不涉及到具体的技术框架,和内部业务流程,因为业务逻辑的变动频率相教于技术选择,内部处理流程稳定得多,测试被破坏的概率就低很多。

3、Cucumber First Demo
(1)、安装Ruby,之后通过命令gem install cucumber安装Cucumber,因为Cucumber还使用了Rspec作Assertion,因此我们还需要安装Rspec,命令”gem install rspec“。(在过程中,若出现ERROR:  Error installing cucumber:cucumber requires gherkin (~> 2.2.9,runtime)的错误,是因为Cucumber依赖的一个gem,gherkin有老版本。可通过gem install gherkin --version,指定安装新版本解决。或者gem uninstall gherkin,gem install gherkin重新安装)。

(2)、创建一个Ruby project,然后在其项目目录下创建一个features的目录,在features目录下创建basic.feature的文件,其中的内容如下:
Feature: Hello World Feature
  In order to ensure that my installation works
  As a Developer
  I want to run a quick Cucumber test

  Scenario: Hello World Scenario
    Given The Action is Hello
    When The Subject is World
    Then The Greeting is Hello, World
(3)、在features目录下创建step_definitions目录,在step_definitions目录下创建step_steps.rb文件,内容如下:
require 'rspec/expectations'

Given /The Action is ([A-z]*)/ do |action|
  @action = action
end

When /The Subject is ([A-z]*)/ do |subject|
  @subject = subject
end

Then /The Greeting is (.*)/ do |greeting|
  greeting.should == "#{@action}, #{@subject}"
end

(4)、在项目根目录下执行cucumber,可以得到如下结果:

4、Cucumber的术语
(1)、Feature File:该文件通过一些具有代表性的例子来描述一个用户需求,
(2)、Key Examples:关键用例,特性之间都可以通过自己的关键用例加以区分,每个关键用例都有明确的输入和输出。
(3)、Scenario:测试场景,一个用户特性的一个关键用例就称之为一个测试场景。
(4)、Step:测试步骤,一个测试场景涉及到多个步骤操作,
(5)、Step_Definitions:步骤定义,用来定义测试用例中步骤的执行顺序。
(6)、Gherkin:用来定义Feature File的结构和关键字含义的语言,可以通过这个语言在未支持cucumber的平台上实现一个cucumber。
分享到:
评论
2 楼 ningandjin 2012-08-21  
michael_roshen 写道
有没有相关的文档啊?

http://cuke4ninja.com/ 里面讲得很不错,也很有趣。
1 楼 michael_roshen 2012-08-19  
有没有相关的文档啊?

相关推荐

    The Cucumber book (English Version)

    - **Rachel Davies**:认为本书提供了丰富的实战案例,非常适合初学者入门。 - **Pat Maddox**:提到本书不仅仅是一本关于测试的书籍,还涵盖了软件开发的多个方面,有助于提升软件开发者的综合能力。 - **George ...

    Cucumber Recipes

    这意味着《Cucumber Recipes》将会从基础到高级,从简单的自动化测试到复杂的测试场景,为读者提供全方位的解决方案。 Dan North作为行为驱动开发的创始人和RSpec故事运行器(Cucumber的前身)的作者,在推荐语中...

    cucumber-eclipse-plugin-0.0.23-SNAPSHOT.zip

    对于初学者,了解如何正确安装和使用 Cucumber-Eclipse 插件是掌握 Cucumber 的基础。在实际项目中,我们还需要学习如何编写有效的 Gherkin 语句,以及如何用 Java 或其他支持的语言实现步骤定义,从而实现自动化...

    cucumber-core-1.0.12.zip

    Cucumber的核心库,即cucumber-core,包含了运行Gherkin规范的基础结构。Gherkin是一种业务领域描述的语言,它以人类可读的形式表述功能需求。cucumber-core-1.0.12是这个库的一个稳定版本,可能包含了对先前版本的...

    cucumber-cpp 公共库 与样例 附带pdf的 运行文档

    这些公共库是构建基于 Cucumber-CPP 的测试解决方案的基础,开发者可以利用它们来编写自定义的步骤定义,将自然语言特性映射到实际的代码逻辑。 `cucumber-test` 文件夹可能是包含了一些示例测试用例和步骤定义的...

    BDD开发之rspec和cucumber

    - **Cucumber入门**:解释Cucumber的工作原理、Gherkin语言的使用方法以及如何编写有效的行为特征。 - **集成RSpec与Cucumber**:探讨如何结合RSpec和Cucumber的优点,实现更强大的BDD测试策略。 - **实战演练**:...

    Java版Cucumber入门教程一篇就够用

    项目代码

    The Cucumber Book

    4. 通过实际案例学习如何将Cucumber集成到现有的敏捷工作流程中。 ### 知识点五:Cucumber与其他Ruby工具的集成 Cucumber并非孤立使用,它能够和多种Ruby工具无缝集成,共同提升开发效率和软件质量: - RSpec:...

    大数据与云计算培训学习资料 使用Chef和Cucumber进行行为(测试)驱动基础设施开发 共15页.pptx

    大数据与云计算培训学习资料 使用Chef和Cucumber进行行为(测试)驱动基础设施开发 共15页.pptx

    cucumberjs-demo:使用 Cucumber.js 规范和测试斐波那契计算器

    总的来说,这个 cucumberjs-demo 项目提供了一个很好的学习资源,帮助开发者理解如何使用 Cucumber.js 进行 BDD 测试,并实践 JavaScript 编程中的斐波那契算法。通过这种方式,你可以提高代码质量,确保功能正确性...

    Cucumber

    要开始使用 Cucumber,你需要掌握 Gherkin 语法,选择一种支持的语言(如 Ruby 或 Java),然后学习如何编写步骤定义。有很多在线资源和教程可以帮助你入门,例如官方文档、GitHub 上的示例项目,以及各种社区论坛。...

    The Rspec Book -- BDD methodology

    3. **RSpec**和**Cucumber**共同构建了一个强大的测试框架,它们不仅帮助开发者更好地理解需求,还为项目的长期维护打下了坚实的基础。 #### 四、RSpec的实践应用 在实际开发过程中,使用RSpec进行测试时需要注意...

    curs_cucumber:项目介绍

    这些阶段可能涵盖了Cucumber的基础知识,如Gherkin语法,Cucumber的安装和配置,以及如何创建和执行测试场景。Gherkin是一种业务领域语言,用于编写可读性强的测试用例,通常以`.feature`文件的形式存在。 “一个...

    小Cucumber

    "小Cucumber"这个标题可能是指一个轻量级的、面向初学者的编程教程或项目,其中"嫩Cucumber"可能暗示着这是一个针对新手程序员,尤其是儿童或青少年的入门级编程学习资源。"Bstr"可能是一个拼写错误或者缩写,如果是...

    tutorial-cucumber-calculator:Cucumber行为驱动开发的第一步

    本教程将引导你通过一个简单的计算器示例,学习如何使用Cucumber进行行为驱动开发。 首先,我们需要理解Cucumber的基本概念。Cucumber使用Gherkin语言,这是一种非编程的、易于理解的语言,用于编写名为“特性”...

    estrutura-cucumber-vazia

    【estrutura-cucumber-vazia...通过这个模板,你可以学习到如何编写Gherkin特性文件、创建步骤定义以及如何组织Cucumber项目结构。随着对Cucumber的理解加深,你可以逐渐拓展这个模板,实现更加复杂和全面的测试覆盖。

    Cucumber-JVM-Example:一个使用Java步骤定义演示Cucumber-JVM的简单示例

    该项目提供了一个简单的入门示例,展示了如何设置和运行Cucumber测试。以下是关键知识点的详细说明: 1. **Gherkin语法**:Gherkin是一种业务领域特定的语言,用于编写用户故事和验收规范。在本示例中,你会找到`....

    rspec 入门者学习

    ### RSpec 入门者学习知识点详解 #### 一、RSpec 概述 RSpec 是一个流行的 Ruby 测试框架,主要用于行为驱动开发 (Behavior-Driven Development, BDD)。RSpec 的设计目的是让测试更加自然和易读,使得开发人员能够...

Global site tag (gtag.js) - Google Analytics