Test and Validate
Testform proporciona herramientas de análisis estático y verificación predictiva antes de ejecutar cualquier prueba en el navegador o enviar tráfico a una API: testform validate y testform plan.
1. Validación Estática (testform validate)
Sección titulada «1. Validación Estática (testform validate)»El comando testform validate verifica la sintaxis, coherencia y relaciones de todos los archivos del proyecto sin requerir conexión a navegadores ni consultar el estado:
testform validateVerificaciones Realizadas:
Sección titulada «Verificaciones Realizadas:»- Sintaxis YAML: Valida la estructura de
main.yml,data.yml,variables.yml,locals.ymlyoutputs.yml. - Estructura Gherkin: Comprueba que todos los archivos
.featuretengan sintaxis BDD válida. - Detección de Ciclos Circulares: Analiza el grafo de
@depends_ony previene bucles infinitos ($A \rightarrow B \rightarrow A$). - Resolución de Módulos: Verifica que los archivos referenciados en
@module(source="...")existan y sean accesibles. - Tipado e Interpolaciones: Valida que las expresiones
${var.*},${data.*}y${local.*}tengan sintaxis correcta.
Si el proyecto es válido:
Success! The configuration is valid.2. Planificación Predictiva (testform plan)
Sección titulada «2. Planificación Predictiva (testform plan)»Antes de realizar cambios en el estado o ejecutar suites de prueba, testform plan genera un resumen de acciones:
testform planEl planificador compara el código declarado contra el estado guardado (testform.state) y muestra exactamente qué pruebas se ejecutarán:
Testform will perform the following actions:
# auth/login.feature.@login_success will be created + testcase "auth/login.feature.@login_success" { + title = "Inicio de sesión exitoso" + provider = "playwright" }
# checkout/payment.feature.@stripe will be updated ~ testcase "checkout/payment.feature.@stripe" { ~ steps = 5 -> 6 }
Plan: 1 to create, 1 to update, 0 to destroy.Guardar un Plan en Archivo (-out)
Sección titulada «Guardar un Plan en Archivo (-out)»Permite congelar un plan para garantizar que testform apply ejecute exactamente lo validado en pipelines de CI/CD:
testform plan -out=testform.plan.binarytestform apply testform.plan.binary