Ejemplo práctico mínimo
1) Crear un fichero .feature
Ubicación habitual en proyectos Java con Cucumber:
src/test/resources/features/checkout.feature
Contenido:
Feature: Checkout de pedidos
Background:
Given existe el producto "Teclado mecánico" con precio 89.90 EUR
And el producto tiene 2 unidades en stock
Scenario: Compra confirmada con pago aprobado
Given la clienta "Marta" está autenticada
And tiene 1 unidad del producto en su carrito
When confirma el pago con tarjeta válida
Then el pedido queda confirmado
And las unidades en stock pasan a 1
Scenario: Compra rechazada por falta de stock
Given no quedan unidades en stock
And la clienta "Marta" tiene 1 unidad en su carrito
When confirma la compra
Then el pedido es rechazado
And el sistema informa "producto sin stock"
2) Ejecutar tests
Si el proyecto usa Maven:
mvn test
Resultado esperado al inicio:
- Escenarios en rojo (pendientes o no implementados)
3) Implementar definiciones de pasos (step definitions)
Ejemplo simplificado en Java:
@Given("existe el producto {string}")
public void existeProducto(String nombre) {
}
@When("confirma la compra")
public void confirmaCompra() {
}
@Then("el pedido queda confirmado")
public void pedidoConfirmado() {
}
4) Implementar lógica de dominio
Desarrolla lo mínimo para cumplir el comportamiento descrito.
5) Re-ejecutar tests
mvn test
Objetivo:
- Escenarios en verde
- Requisito funcional validado