En esta sección, aprenderás a crear tu primer proyecto Cucumber desde cero. Este proceso te ayudará a familiarizarte con la estructura básica de un proyecto Cucumber y a configurar el entorno necesario para comenzar a escribir pruebas BDD.

Paso 1: Configuración del Entorno

Antes de comenzar, asegúrate de tener instalado lo siguiente:

  • Java Development Kit (JDK): Cucumber requiere Java para ejecutarse. Puedes descargarlo desde Oracle o usar una distribución de código abierto como OpenJDK.
  • Maven: Es una herramienta de gestión de proyectos que simplifica la compilación y gestión de dependencias. Descárgalo desde Apache Maven.
  • IDE (Entorno de Desarrollo Integrado): Recomendamos usar IntelliJ IDEA o Eclipse, que ofrecen soporte para Cucumber.

Paso 2: Crear un Proyecto Maven

  1. Inicia tu IDE y selecciona la opción para crear un nuevo proyecto Maven.
  2. Configura el proyecto:
    • Group ID: com.ejemplo
    • Artifact ID: proyecto-cucumber
    • Version: 1.0-SNAPSHOT
  3. Selecciona un arquetipo: Puedes usar el arquetipo maven-archetype-quickstart para un proyecto básico.

Paso 3: Configurar el Archivo pom.xml

El archivo pom.xml es crucial para gestionar las dependencias de tu proyecto. Asegúrate de incluir las siguientes dependencias para Cucumber:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ejemplo</groupId>
    <artifactId>proyecto-cucumber</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <!-- Cucumber Java -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>7.0.0</version>
            <scope>test</scope>
        </dependency>
        <!-- Cucumber JUnit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>7.0.0</version>
            <scope>test</scope>
        </dependency>
        <!-- JUnit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
    </build>
</project>

Paso 4: Estructura del Proyecto

Organiza tu proyecto con la siguiente estructura de directorios:

proyecto-cucumber
│
├── src
│   ├── main
│   │   └── java
│   └── test
│       ├── java
│       │   └── com
│       │       └── ejemplo
│       │           └── stepdefinitions
│       └── resources
│           └── features
  • src/test/java/com/ejemplo/stepdefinitions: Aquí es donde escribirás las definiciones de pasos.
  • src/test/resources/features: Aquí es donde almacenarás tus archivos de características Gherkin.

Paso 5: Crear un Archivo de Características

Crea un archivo llamado primer_escenario.feature en el directorio src/test/resources/features con el siguiente contenido:

Feature: Calculadora
  Scenario: Sumar dos números
    Given que tengo una calculadora
    When sumo 2 y 3
    Then el resultado debe ser 5

Paso 6: Crear Definiciones de Pasos

Crea una clase Java en src/test/java/com/ejemplo/stepdefinitions llamada CalculadoraSteps.java:

package com.ejemplo.stepdefinitions;

import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;
import static org.junit.Assert.*;

public class CalculadoraSteps {
    private int resultado;
    private Calculadora calculadora;

    @Given("que tengo una calculadora")
    public void que_tengo_una_calculadora() {
        calculadora = new Calculadora();
    }

    @When("sumo {int} y {int}")
    public void sumo_y(int num1, int num2) {
        resultado = calculadora.sumar(num1, num2);
    }

    @Then("el resultado debe ser {int}")
    public void el_resultado_debe_ser(int esperado) {
        assertEquals(esperado, resultado);
    }
}

Paso 7: Implementar la Lógica de la Calculadora

Crea una clase Calculadora en src/main/java:

package com.ejemplo;

public class Calculadora {
    public int sumar(int a, int b) {
        return a + b;
    }
}

Paso 8: Ejecutar el Proyecto

Usa Maven para ejecutar las pruebas:

mvn test

Conclusión

Has creado con éxito tu primer proyecto Cucumber. Ahora entiendes cómo configurar un proyecto básico, escribir un archivo de características y definir pasos en Java. En el siguiente módulo, profundizaremos en la sintaxis de Gherkin y cómo escribir escenarios más complejos.

© Copyright 2024. Todos los derechos reservados