Icon Test Framework
El Icon Test Framework es una aplicación de pruebas orientada a BDD, independiente y de caja negra. 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 core El marco 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 existentes test framework s fue un desafío. Esto reafirmó la necesidad de invertir en un arnés de prueba hecho en casa que pueda soportar tal aplicación. Hay varios core principios 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 nuestro comportamiento esperado de la 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 Icon¿Oferta?
-
A core biblioteca 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.
-
DockerComposeRegla- Una utilidad de entorno (opcional) para iniciar la aplicación objetivo a través de un conjunto de configuraciones.docker-compose archivos.
-
spring.io/Spring Framework]El marco de aplicación clásico, utilizado para dependency injection, 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