es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obteniendo el error: “‘flow-ref’ está apuntando a ‘main-flow-LoggingConnector-default-config-global-element-suffix’ que no existe” al ejecutar Munits.

Utilizando un conector de registro de cliente desde Exchange en el flujo principal y funciona bien. Sin embargo, cuando intento ejecutar los Munits, obtengo el siguiente error y no se ejecutan las pruebas:

[org/mule/extensions/smart/connector/module-logging.xml:309]: ‘‘flow-ref’ está apuntando a ‘main-flow-LoggingConnector-default-config-global-element-suffix’ que no existe
Causado por: org.mule.runtime.core.api.config.ConfigurationException: [org/mule/extensions/smart/connector/module-logging.xml:309]: ‘flow-ref’ está apuntando a ‘main-flow-LoggingConnector-default-config-global-element-suffix’ que no existe

Cuando elimino el conector de registro del flujo principal, funciona sin errores y se ejecutan las pruebas.
El archivo module-logging.xml del conector de registro en el mule-plugin.jar es un archivo de solo lectura.
La simulación del conector de registro tampoco funciona.

A continuación, se muestra la línea 309 en el module-logging.xml:

Intenté ignorar este flujo en el pom.xml pero sin éxito.

Se agradecería cualquier forma de ignorar el conector de registro cuando se ejecute Munit o cualquier solución alternativa.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución:

    El mensaje de error indica que la referencia de flujo en el módulo conector de registro está referenciando un flujo inexistente, lo que provoca que las pruebas de Munit fallen.

    Una solución podría ser crear una prueba de Munit separada para el conector de registro que excluya el flujo principal. De esta manera, puedes probar el conector de registro de forma independiente sin interferir con el flujo principal.

    Otra solución podría ser crear un archivo de configuración separado para el conector de registro que solo se carga durante la ejecución y no durante las pruebas. Puedes lograr esto creando un archivo de configuración separado en src/main/resources y usando el atributo mule config file en la prueba de Munit para excluir el archivo de configuración del conector de registro.

    <munit:test name="testFlow" description="Test">
        <configurations>
            <configuration files="../src/main/mule/mule-config.xml">
                <spring:property name="loggingConnectorConfigFile" value="../src/main/mule/logging-config.xml"></spring:property>
            </configuration>
        </configurations>
        ...
    </munit:test>
    

    En el ejemplo anterior, se excluye el archivo de configuración del conector de registro durante las pruebas, pero aún se cargará durante la ejecución.

    Alternativamente, puedes intentar usar el componente de simulación (mock) en Munit para simular el conector de registro y evitar el archivo module-logging.xml. De esta manera, puedes probar el flujo principal de forma aislada sin tener que preocuparte por el módulo del conector de registro.

Comments are closed.