En aquest tema, aprendrem a crear el nostre primer projecte Cucumber des de zero. Aquest procés inclou la configuració de l'entorn de desenvolupament, la creació de fitxers de característiques i la implementació de definicions de passos. Al final d'aquest tema, tindràs un projecte bàsic de Cucumber en funcionament.
- Configuració de l'entorn
 
Abans de començar, assegura't que tens el següent instal·lat al teu sistema:
- Java Development Kit (JDK): Cucumber està escrit en Java, així que necessitaràs el JDK. Pots descarregar-lo des del lloc oficial d'Oracle o utilitzar una distribució com OpenJDK.
 - Maven o Gradle: Aquests són eines de gestió de projectes que t'ajudaran a gestionar les dependències i a construir el projecte.
 - IDE (Entorn de Desenvolupament Integrat): Recomanem IntelliJ IDEA o Eclipse per a una millor experiència de desenvolupament.
 
- Creació del projecte
 
Pas 1: Crear un nou projecte
- Obre el teu IDE i crea un nou projecte Maven o Gradle.
 - Configura el projecte amb un nom adequat, com ara 
CucumberDemo. 
Pas 2: Configurar les dependències
Afegeix les següents dependències al teu fitxer pom.xml (per a Maven) o build.gradle (per a Gradle):
Maven (pom.xml)
<dependencies>
    <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>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>Gradle (build.gradle)
dependencies {
    testImplementation 'io.cucumber:cucumber-java:7.0.0'
    testImplementation 'io.cucumber:cucumber-junit:7.0.0'
    testImplementation 'junit:junit:4.13.2'
}
- Creació del fitxer de característiques
 
Els fitxers de característiques són on escriuràs els teus escenaris en llenguatge Gherkin.
Pas 1: Crear un directori per als fitxers de característiques
- Crea un directori anomenat 
src/test/resources/features. - Dins d'aquest directori, crea un fitxer anomenat 
login.feature. 
Pas 2: Escriure el teu primer escenari
Afegeix el següent contingut al fitxer login.feature:
Feature: Login functionality
  Scenario: Successful login with valid credentials
    Given the user is on the login page
    When the user enters valid credentials
    Then the user should be redirected to the dashboard
- Implementació de les definicions de passos
 
Les definicions de passos són on implementes el comportament dels teus escenaris.
Pas 1: Crear un directori per a les definicions de passos
- Crea un directori anomenat 
src/test/java/stepdefinitions. 
Pas 2: Escriure les definicions de passos
Crea un fitxer Java anomenat LoginSteps.java dins del directori stepdefinitions i afegeix el següent codi:
package stepdefinitions;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;
public class LoginSteps {
    @Given("the user is on the login page")
    public void the_user_is_on_the_login_page() {
        System.out.println("User is on the login page");
    }
    @When("the user enters valid credentials")
    public void the_user_enters_valid_credentials() {
        System.out.println("User enters valid credentials");
    }
    @Then("the user should be redirected to the dashboard")
    public void the_user_should_be_redirected_to_the_dashboard() {
        System.out.println("User is redirected to the dashboard");
    }
}
- Executar el projecte
 
Finalment, executa el projecte per veure els resultats dels teus escenaris. Pots fer-ho des de l'IDE o utilitzant la línia de comandes amb Maven o Gradle.
Maven
Gradle
Conclusió
Has creat amb èxit el teu primer projecte Cucumber, incloent la configuració de l'entorn, la creació de fitxers de característiques i la implementació de definicions de passos. Ara estàs preparat per explorar més funcions de Cucumber i Gherkin en els següents mòduls.
BDD amb Cucumber i Gherkin
Mòdul 1: Introducció al BDD
Mòdul 2: Començar amb Cucumber
- Configuració de l'entorn
 - Creació del teu primer projecte Cucumber
 - Comprensió dels fitxers de característiques
 
Mòdul 3: Escriure escenaris Gherkin
Mòdul 4: Definicions de passos
Mòdul 5: Tècniques avançades de Gherkin
Mòdul 6: Integració de Cucumber amb el desenvolupament
- Integració amb la integració contínua
 - Utilitzant Cucumber amb diferents llenguatges
 - Millors pràctiques per al BDD en equips
 
Mòdul 7: Funcions avançades de Cucumber
Mòdul 8: Aplicacions reals del BDD
- Estudi de cas: BDD en una aplicació web
 - Estudi de cas: BDD en una arquitectura de microserveis
 - Reptes i solucions en el BDD
 
