lifecycle
El meta-argumento lifecycle en Testform permite modificar el comportamiento estándar del ciclo de vida de los casos de prueba, protegiéndolos contra destrucción accidental y suprimiendo derivas de estado (drift) no deseadas.
Directivas de lifecycle
Sección titulada «Directivas de lifecycle»Testform implementa dos controles fundamentales:
1. prevent_destroy
Sección titulada «1. prevent_destroy»Bloquea de forma estricta cualquier intento de destruir o cerrar recursos críticos durante un testform destroy o testform plan -destroy:
@auth @critical@prevent_destroyScenario: Transacción bancaria de alto valor Given que el usuario cuenta con saldo suficiente When autoriza la transferencia con doble factor Then el comprobante es emitidoSi alguien intenta destruir este caso de prueba:
[ERROR] Cannot destroy resource protected by prevent_destroy: auth/payment.feature.@transfer_funds The resource is configured with prevent_destroy = true.2. ignore_changes
Sección titulada «2. ignore_changes»Evita que cambios externos (etiquetas añadidas manualmente en GitHub/GitLab, asignados, comentarios o selectores dinámicos) generen falsos positivos de deriva (drift):
@ignore_changes("labels", "assignees", "priority")Scenario: Consulta de perfil de cliente Given que el cliente navega a su perfil Then visualiza su información personalConfiguración Centralizada en YAML
Sección titulada «Configuración Centralizada en YAML»Siguiendo la convención de Terraform, el meta-argumento lifecycle pertenece estrictamente dentro de la declaración de resource::
# main.yml o resource.ymlresource: testcase: match: "features/*.case.feature" lifecycle: prevent_destroy: true ignore_changes: - labels - assignees