Test Framework de Icon

el Test Framework from Icon es una aplicación de pruebas independiente, centrada en el enfoque de caja negra y orientada a BDD. Se desarrolló junto con IPF con el objetivo de iniciar las pruebas de características de una aplicación objetivo dada mediante la reutilización de afirmaciones comunes, al tiempo que proporciona una extensibilidad completa para los requisitos específicos del proyecto. El marco central ahora es completamente independiente y puede ser utilizado para cualquier nivel de pruebas del sistema.

Motivación

la naturaleza de alto rendimiento, asincrónica y flexible del IPF significó que las pruebas utilizando los marcos de prueba existentes eran un desafío. Esto reafirmó la necesidad de invertir en un arnés de prueba hecho en casa que pueda soportar tal aplicación. Existen varios principios fundamentales que el test-fw está construido contra:

  • Caja negra- Necesitamos asegurarnos de que estamos realizando pruebas en la aplicación como un sistema objetivo remoto para garantizar la cobertura de pruebas de la capa de integración y aumentar la confianza en lo que enviamos.

  • Impulsado por BDD- Necesitamos poder derivar el comportamiento esperado de nuestra aplicación directamente de los requisitos del negocio para garantizar una cobertura precisa de las características.

  • Extensible- Necesitamos poder facilitar pruebas efectivas de los diferentes bancos, esquemas, configuraciones y tecnologías potenciales.

  • Paralelizable- Necesitamos poder ejecutar múltiples pruebas de manera concurrente para reducir los tiempos de construcción y emular el comportamiento del mundo real de manera más precisa.

¿Qué significa el Test Framework¿de la oferta de Icon?

  • Una biblioteca central de pasos BDD Gherkin predefinidos para enviar, recibir y verificar mensajes.

  • Implementaciones de protocolos de transporte comunes:RESTful HTTP, JMS(IBMMQ, ActiveMQ), SOAP.

  • Implementaciones de estrategias comunes de correlación de mensajes a través de preocupaciones del dominio como TransactionID vs OriginalTransactionID, o asociaciones técnicas como JMSCorrelation ID

  • Manejo de propiedades agnóstico al dominio

  • Recetas para generar documentos, incluyendo Freemarker integración

  • Una biblioteca en crecimiento de poderosas evaluaciones BDD, que incluye la referencia incorporada a mensajes anteriores, verificaciones estrictas o flexibles y custom invocación de método

  • Conversiones de tipo intercambiables

  • Componentes de utilidad para preparar el entorno objetivo antes de las pruebas

  • Una biblioteca completamente modular y orientada hacia el exterior, con documentación para desarrolladores, JavaDocs y una biblioteca de pasos generada.

Core Dependencias

Tenemos las siguientes dependencias tecnológicas principales.

  • JBehave- Un motor de pruebas BDD, elegido sobre Cucumber por su extensibilidad y paralelización incorporada.

  • DockerComposeRule- Una utilidad de entorno (opcional) para iniciar la aplicación objetivo a través de un conjunto de archivos docker-compose configurados.

  • spring.io/[Spring Framework El marco de aplicación clásico, utilizado para la inyección de dependencias, componentes de plantilla y scheduling

  • JBehave Intellij Syntax Support proporciona resaltado de sintaxis y autocompletado dentro de archivos.story.

Usuarios de Windows, por favor establezca las variables de entorno equivalentes para DockerComposeRule.

DOCKER_COMPOSE_LOCATION=C:\Program Files\Docker\Docker\resources\bin
DOCKER_LOCATION=C:\Program Files\Docker\Docker\resources\bin