En aquest tema, explorarem com Cucumber pot ser utilitzat amb diversos llenguatges de programació. Cucumber és una eina versàtil que permet als equips de desenvolupament implementar el BDD (Behavior-Driven Development) en una àmplia gamma de llenguatges, facilitant la col·laboració entre desenvolupadors, testers i altres parts interessades.

Conceptes clau

  • Cucumber JVM: Una implementació de Cucumber per a la màquina virtual de Java, que permet utilitzar Cucumber amb llenguatges com Java, Groovy, Scala, etc.
  • Cucumber Ruby: La implementació original de Cucumber, que funciona amb Ruby.
  • Cucumber.js: Una implementació de Cucumber per a JavaScript, que permet utilitzar-lo en aplicacions Node.js i del costat del client.
  • Cucumber per a altres llenguatges: Implementacions per a altres llenguatges com Python (Behave), .NET (SpecFlow), etc.

Configuració de Cucumber amb diferents llenguatges

  1. Cucumber JVM (Java)

Requisits previs

  • Instal·lar Java Development Kit (JDK).
  • Configurar un projecte Maven o Gradle.

Exemple de configuració amb Maven

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>7.0.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>7.0.0</version>
    <scope>test</scope>
</dependency>

Exemple de codi

import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;

public class StepDefinitions {
    @Given("el sistema està preparat")
    public void el_sistema_està_preparat() {
        // Implementació del codi
    }

    @When("l'usuari inicia sessió")
    public void l_usuari_inicia_sessió() {
        // Implementació del codi
    }

    @Then("l'usuari veu la pàgina d'inici")
    public void l_usuari_veu_la_pàgina_d_inici() {
        // Implementació del codi
    }
}

  1. Cucumber Ruby

Requisits previs

  • Instal·lar Ruby i el gestor de paquets Bundler.

Exemple de configuració

# Gemfile
source 'https://rubygems.org'
gem 'cucumber', '~> 7.0'

Exemple de codi

Given('el sistema està preparat') do
  # Implementació del codi
end

When('l\'usuari inicia sessió') do
  # Implementació del codi
end

Then('l\'usuari veu la pàgina d\'inici') do
  # Implementació del codi
end

  1. Cucumber.js (JavaScript)

Requisits previs

  • Instal·lar Node.js i npm.

Exemple de configuració

npm install --save-dev @cucumber/cucumber

Exemple de codi

const { Given, When, Then } = require('@cucumber/cucumber');

Given('el sistema està preparat', function () {
  // Implementació del codi
});

When('l\'usuari inicia sessió', function () {
  // Implementació del codi
});

Then('l\'usuari veu la pàgina d\'inici', function () {
  // Implementació del codi
});

Exercici pràctic

Objectiu: Configurar un projecte Cucumber en el llenguatge de la teva elecció i escriure un escenari senzill.

Passos

  1. Tria un llenguatge de programació (Java, Ruby, o JavaScript).
  2. Configura un projecte Cucumber seguint les instruccions anteriors.
  3. Escriu un escenari senzill utilitzant Gherkin.
  4. Implementa les definicions de passos corresponents.
  5. Executa les proves i verifica que passin correctament.

Solució

La solució variarà segons el llenguatge triat, però hauria de seguir els exemples proporcionats en la secció de configuració i codi.

Conclusió

Cucumber és una eina poderosa que pot ser integrada amb diversos llenguatges de programació, permetent als equips de desenvolupament adoptar el BDD de manera flexible i eficient. En aquest tema, hem après a configurar Cucumber amb Java, Ruby i JavaScript, i hem escrit exemples de codi per a cada llenguatge. Amb aquesta base, estàs preparat per explorar més funcions avançades de Cucumber en el teu llenguatge preferit.

© Copyright 2024. Tots els drets reservats