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。
分享到:
相关推荐
- **Rachel Davies**:认为本书提供了丰富的实战案例,非常适合初学者入门。 - **Pat Maddox**:提到本书不仅仅是一本关于测试的书籍,还涵盖了软件开发的多个方面,有助于提升软件开发者的综合能力。 - **George ...
这意味着《Cucumber Recipes》将会从基础到高级,从简单的自动化测试到复杂的测试场景,为读者提供全方位的解决方案。 Dan North作为行为驱动开发的创始人和RSpec故事运行器(Cucumber的前身)的作者,在推荐语中...
对于初学者,了解如何正确安装和使用 Cucumber-Eclipse 插件是掌握 Cucumber 的基础。在实际项目中,我们还需要学习如何编写有效的 Gherkin 语句,以及如何用 Java 或其他支持的语言实现步骤定义,从而实现自动化...
Cucumber的核心库,即cucumber-core,包含了运行Gherkin规范的基础结构。Gherkin是一种业务领域描述的语言,它以人类可读的形式表述功能需求。cucumber-core-1.0.12是这个库的一个稳定版本,可能包含了对先前版本的...
这些公共库是构建基于 Cucumber-CPP 的测试解决方案的基础,开发者可以利用它们来编写自定义的步骤定义,将自然语言特性映射到实际的代码逻辑。 `cucumber-test` 文件夹可能是包含了一些示例测试用例和步骤定义的...
- **Cucumber入门**:解释Cucumber的工作原理、Gherkin语言的使用方法以及如何编写有效的行为特征。 - **集成RSpec与Cucumber**:探讨如何结合RSpec和Cucumber的优点,实现更强大的BDD测试策略。 - **实战演练**:...
项目代码
4. 通过实际案例学习如何将Cucumber集成到现有的敏捷工作流程中。 ### 知识点五:Cucumber与其他Ruby工具的集成 Cucumber并非孤立使用,它能够和多种Ruby工具无缝集成,共同提升开发效率和软件质量: - RSpec:...
大数据与云计算培训学习资料 使用Chef和Cucumber进行行为(测试)驱动基础设施开发 共15页.pptx
总的来说,这个 cucumberjs-demo 项目提供了一个很好的学习资源,帮助开发者理解如何使用 Cucumber.js 进行 BDD 测试,并实践 JavaScript 编程中的斐波那契算法。通过这种方式,你可以提高代码质量,确保功能正确性...
要开始使用 Cucumber,你需要掌握 Gherkin 语法,选择一种支持的语言(如 Ruby 或 Java),然后学习如何编写步骤定义。有很多在线资源和教程可以帮助你入门,例如官方文档、GitHub 上的示例项目,以及各种社区论坛。...
3. **RSpec**和**Cucumber**共同构建了一个强大的测试框架,它们不仅帮助开发者更好地理解需求,还为项目的长期维护打下了坚实的基础。 #### 四、RSpec的实践应用 在实际开发过程中,使用RSpec进行测试时需要注意...
这些阶段可能涵盖了Cucumber的基础知识,如Gherkin语法,Cucumber的安装和配置,以及如何创建和执行测试场景。Gherkin是一种业务领域语言,用于编写可读性强的测试用例,通常以`.feature`文件的形式存在。 “一个...
"小Cucumber"这个标题可能是指一个轻量级的、面向初学者的编程教程或项目,其中"嫩Cucumber"可能暗示着这是一个针对新手程序员,尤其是儿童或青少年的入门级编程学习资源。"Bstr"可能是一个拼写错误或者缩写,如果是...
本教程将引导你通过一个简单的计算器示例,学习如何使用Cucumber进行行为驱动开发。 首先,我们需要理解Cucumber的基本概念。Cucumber使用Gherkin语言,这是一种非编程的、易于理解的语言,用于编写名为“特性”...
【estrutura-cucumber-vazia...通过这个模板,你可以学习到如何编写Gherkin特性文件、创建步骤定义以及如何组织Cucumber项目结构。随着对Cucumber的理解加深,你可以逐渐拓展这个模板,实现更加复杂和全面的测试覆盖。
该项目提供了一个简单的入门示例,展示了如何设置和运行Cucumber测试。以下是关键知识点的详细说明: 1. **Gherkin语法**:Gherkin是一种业务领域特定的语言,用于编写用户故事和验收规范。在本示例中,你会找到`....
### RSpec 入门者学习知识点详解 #### 一、RSpec 概述 RSpec 是一个流行的 Ruby 测试框架,主要用于行为驱动开发 (Behavior-Driven Development, BDD)。RSpec 的设计目的是让测试更加自然和易读,使得开发人员能够...