Funciones
Modos de ejecución
El test-fw se puede usar en tres modos diferentes:
-
Pruebas de caja 'blanca': aquí es donde el marco de pruebas puede interactuar directamente con el sistema bajo prueba. Esto significa que puede comprender y potencialmente engancharse a las operaciones que ejecuta la aplicación. Estas pruebas normalmente se ejecutan contra una aplicación que corre como un proceso Java local.
-
Pruebas de caja 'negra': aquí es donde el marco de pruebas actúa sobre un entorno desplegado, por lo que no tiene conocimiento del funcionamiento interno del sistema. Normalmente usamos el enfoque de caja negra cuando probamos aplicaciones desplegadas en un entorno docker.
-
'Containerised': similar al enfoque de caja negra, en este caso todas las utilidades, configuración y código del marco de pruebas se colocarán en un contenedor que luego se puede invocar mediante una API. Se pueden encontrar más detalles de este enfoque en ¿Cómo uso el ejecutor de pruebas de funcionalidades?
Compatibilidad con UI
El marco de pruebas de frontend es una extensión del marco de pruebas de Icon que permite probar pantallas web usando Selenium. Esto se desarrolló para permitir probar la GUI operativa mientras se tiene la capacidad de interactuar con IPF usando el mecanismo de transporte existente.
e.g. Disparar ROI desde la GUI y responder con pacs002 usando pasos existentes de stet
NOTA: Aunque se creó para servir a la GUI operativa, este módulo del marco de pruebas se ha hecho genérico y debería ser capaz de probar componentes web no relacionados con IPF.
Consulta ¿Cómo creo una prueba 'Web'? para más detalles
Expresiones
Para leer y escribir propiedades en objetos de mensaje de forma abstracta y general, los pasos comunes en test-fw-core usan la clase ExpressionEngine.
El Expression Engine es un evaluador turboalimentado de Spring Expression Language, aprovechando el acceso reflectivo a propiedades, la conversión de tipos y la invocación de métodos. Obtener y establecer valores en un objeto con Expression Engine siempre convertirá de String al tipo de datos de la propiedad. Para proporcionar control de conversión en una conversión de un tipo de dato dado, simplemente necesitas registrar una instancia de un convertidor de tipo de dato que soporte la conversión.
Consulta ¿Cómo creo un conversor de tipo de datos personalizado? para más detalles
Conciencia del sistema
La conciencia del sistema es una característica avanzada y opcional que permite un mayor control sobre cómo actúa test-fw al emular múltiples sistemas externos. Por ejemplo, diferentes sistemas pueden compartir tipos de mensajes o tipos de payload.
La conciencia del sistema restringe efectivamente el manejo de definiciones de mensajes mediante la asociación con las propiedades receivingSystem y sendingSystem en CommonTransportSteps; por lo tanto, se deben satisfacer los siguientes cambios.
Consulta ¿Cómo restrinjo un mensaje a un sistema dado? para más detalles.
Creación de la biblioteca de pasos
Es posible usar un plugin de Maven para generar una biblioteca de los pasos soportados en un formato HTML amigable que se puede usar para compartir información sobre los pasos disponibles.
Consulta ¿Cómo creo una biblioteca de pasos? para más detalles.