Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Terraform habilita la definición, vista previa e implementación de la infraestructura en la nube. Con Terraform, se crean archivos de configuración mediante la sintaxis de HCL. La sintaxis de HCL permite especificar el proveedor de la nube, como Azure, y los elementos que componen la infraestructura de la nube. Después de crear los archivos de configuración, se crea un plan de ejecución que permite obtener una vista previa de los cambios de infraestructura antes de implementarlos. Una vez que compruebe los cambios, aplique el plan de ejecución para implementar la infraestructura.
Terraform es una herramienta de infraestructura como código (IaC). Esta categoría de herramienta hace referencia al hecho de que trata los archivos de Terraform como lo haría con el código fuente del proyecto. Parte de ese proceso incluye control de versiones y código fuente. Además, las pruebas deben formar parte del proceso. En este artículo se proporciona información general sobre los distintos tipos de pruebas que puede ejecutar en un proyecto de Terraform.
Implementación de pruebas de integración
Las pruebas de integración validan que un cambio de código recién introducido no interrumpe el código existente. En DevOps, la integración continua (CI) se refiere a un proceso que compila el sistema completo cada vez que cambia la base de código, por ejemplo, cuando alguien quiere fusionar una PR en un repositorio Git. La lista siguiente contiene ejemplos comunes de pruebas de integración:
- Herramientas de análisis de código estático, como lint y formato.
- Ejecute terraform validate para comprobar la sintaxis del archivo de configuración.
- Ejecute terraform plan para asegurarse de que la configuración funcione según lo previsto.
Implementación de pruebas unitarias
Las pruebas unitarias garantizan que una parte o función específicas de un programa se comporten correctamente. El desarrollador de la funcionalidad escribe pruebas unitarias. A veces se denomina desarrollo controlado por pruebas o TDD, este tipo de pruebas implica ciclos de desarrollo cortos continuos. En el contexto de los proyectos de Terraform, las pruebas unitarias pueden adoptar la forma de usar terraform plan para asegurarse de que los valores reales disponibles en el plan generado sean iguales a los valores esperados.
Las pruebas unitarias pueden ser especialmente beneficiosas cuando los módulos de Terraform comienzan a ser más complejos:
- Generación de bloques dinámicos
- Usar bucles
- Cálculo de variables locales
Al igual que con las pruebas de integración, muchas veces las pruebas unitarias se incluyen en el proceso de integración continua.
Implementación de pruebas de cumplimiento
Use pruebas de cumplimiento para asegurarse de que la configuración sigue las directivas que defina para el proyecto. Por ejemplo, puede definir convenciones de nomenclatura geopolítica para los recursos de Azure. O bien, es posible que desee crear máquinas virtuales a partir de un subconjunto definido de imágenes. Use pruebas de cumplimiento para aplicar estas reglas.
Normalmente, defina las pruebas de cumplimiento como parte del proceso de integración continua.
Implementación de pruebas de un extremo a otro (E2E)
Las pruebas de E2E validan que un programa funciona antes de realizar la implementación en producción. Un escenario de ejemplo podría ser un módulo de Terraform que implementa dos máquinas virtuales en una red virtual. Es posible que quiera impedir que las dos máquinas se hagan ping entre sí. En este ejemplo, podría definir una prueba para comprobar el resultado previsto antes de la implementación.
Las pruebas de E2E suelen ser un proceso de tres pasos. En primer lugar, aplique la configuración a un entorno de prueba. A continuación, ejecute código para comprobar los resultados. Por último, reinicializa o quita el entorno de prueba (como desasignar una máquina virtual).