Cómo registrar Spring Context Events para la prueba actual ApplicationContext en tiempo de ejecución

Antecedentes :

Mi objetivo es recopilar varias marcas de tiempo mientras ejecuto las pruebas JUnit 5 en un entorno Spring para crear una estadística de la duración de las diferentes tareas. ( Repositorio para referencia )

Como no puedo tocar el código de prueba real, tengo que registrar devoluciones de llamada como ContextRefreshedEvent desde mi extensión JUnit Jupiter. Actualmente estoy registrando estas devoluciones de llamada en un objeto de configuración Spring y espero que esto sea encontrado por algún escaneo de componentes en la aplicación de prueba. Como puede imaginar, esto no funciona de manera confiable para cada contexto de prueba.

Problema :

Espero poder registrar de alguna manera estos eventos como ContextRefreshedEvent manualmente en mi primer método de devolución de llamada de JUnit . Según tengo entendido, esto requiere que agregue una Configuración o un Componente que contenga las devoluciones de llamada al Contexto Spring actualmente en ejecución en tiempo de ejecución.

¿Es eso posible o conoces alguna otra solución a mi problema inicial? Realmente agradecería cualquier aportación que tenga sobre este tema porque estoy trabajando en esto durante bastante tiempo.

¡Muchas gracias por adelantado!

Respuesta 1

Actualmente ejecutamos el tomcat 8.5 como servicio de Windows. ¿Cómo es posible pasar una propiedad de Java, es decir, a través del parámetro -D al inicio del servicio? podemos pasar un parámetro a través de ...

Tengo un cuadro de diálogo de selección de contenido filtrado y, en el menú Ver, tengo casillas de verificación que agregan un filtro adicional. Debe funcionar exactamente como la casilla de verificación "Mostrar recursos derivados" de "Abrir recurso ...

Los ejemplos en la documentación de AWS muestran cómo conectarse a AWS Neptune usando Gremlin de la siguiente manera: Cluster.Builder builder = Cluster.build (); builder.addContactPoint ("su-punto final de neptuno"); constructor....

Tengo el siguiente producto que contiene muchos colores. Deseo encontrar el producto que contenga al menos ROJO y VERDE. Id. De cadena de clase de producto; Lista <Color> colores {}; Clase de color ...