Gherkin DSL y Step Bindings
Testform utiliza un parser estricto basado en la especificacion estandar de Cucumber/Gherkin v6+, permitiendo que los escenarios sirvan tanto como documentacion viva como como codigo ejecutable.
Palabras Clave Principales
Sección titulada «Palabras Clave Principales»Testform soporta todas las palabras clave estandar de Gherkin en espanol e ingles:
| Palabra Clave | Proposito |
|---|---|
Feature / Caracteristica |
Define el limite del modulo o funcionalidad bajo prueba. |
Rule / Regla |
Agrupa multiples escenarios bajo una regla de negocio explicita. |
Background / Antecedentes |
Pasos comunes que se ejecutan antes de cada escenario en el archivo. |
Scenario / Escenario |
Un flujo de prueba concreto e independiente. |
Scenario Outline / Esquema del Escenario |
Escenario parametrizado ejecutado multiples veces con datos de una tabla Examples. |
Examples / Ejemplos |
Matriz de datos para un Scenario Outline. |
Given / Dado |
Establece el contexto o estado inicial precondicion. |
When / Cuando |
Describe la accion desencadenante realizada por el usuario o sistema. |
Then / Entonces |
Describe la asercion, resultado observable o efecto secundario esperado. |
And / Y, But / Pero |
Conectores logicos para encadenar multiples pasos sin repetir la palabra clave previa. |
Tipos de Parametros en los Pasos
Sección titulada «Tipos de Parametros en los Pasos»Los steps de Testform admiten expresiones de parametros tipadas:
Given el usuario tiene un saldo de {int} dolaresWhen transfiere {float} a la cuenta "{string}"Then el sistema responde con el codigo de estado {int}{int}: Numeros enteros positivos o negativos (ejemplo:42,-5).{float}: Numeros decimales de punto flotante (ejemplo:19.99).{string}: Cadenas de texto encerradas entre comillas dobles (ejemplo:"admin@empresa.com").{word}: Una sola palabra sin espacios ni comillas (ejemplo:activo).
Data Tables
Sección titulada «Data Tables»Cuando un paso requiere parametros complejos, puedes adjuntar una tabla de datos directamente debajo del step:
Scenario: Registro masivo de productos en catalogo Given el administrador tiene permisos de catalogo When registra los siguientes productos: | sku | nombre | precio | stock | | PROD-001 | Teclado Mecanico | 89.90 | 50 | | PROD-002 | Raton Ergonomico | 45.00 | 120 | | PROD-003 | Monitor UltraWide | 349.00 | 15 | Then los 3 productos deben figurar en el inventario activoDocstrings
Sección titulada «Docstrings»Para cargas utiles JSON, payloads XML o bloques extensos de texto, utiliza docstrings con triple comilla:
Scenario: Solicitud de webhook con payload JSON When el servicio externo emite un POST a "/api/webhooks" con el payload: """json { "event": "payment_completed", "transaction_id": "tx_99812", "amount": 149.99, "currency": "USD" } """ Then el servidor debe responder con HTTP 200Directivas Especiales de Testform
Sección titulada «Directivas Especiales de Testform»Testform introduce directivas a traves de tags especiales para controlar el comportamiento del motor:
@ignore: Excluye el escenario o archivo de la planificacion y conciliacion.@flaky: Marca un escenario como inestable para reportes y filtros de suite.@manual: Indica que el caso de prueba esta disenado exclusivamente para ejecucion humana.@module(path): Importa un modulo reutilizable de pasos Gherkin compartidos.