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