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.

La consola de registro de destino no funciona para los métodos llamados dentro del proveedor de casos de prueba de la fuente NUnit.

He pasado varias horas depurando el problema cuando los mensajes de registro no se muestran en la salida de consola desde el método de clase, que se llama a través de NUnit TestCaseSource.

Entonces tengo una clase, donde realizo el registro con fines de depuración.

Tengo una prueba de fixture:

Y cuando se llama a TestHelper.GetTestData() desde la prueba parametrizada: la salida de consola desde el método NO se muestra, sin embargo, los mensajes se registran en el archivo.
Cuando se llama al método no como parte del proveedor de datos de prueba, los mensajes se registran perfectamente en el objetivo de la consola.

Sospecho que el problema radica en la inicialización estática, pero no puedo entender por qué el registro del objetivo de archivo funciona bien y hay problemas con la salida de consola. ¿Tiene alguna explicación?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema con los mensajes de registro que no se muestran en la salida de la consola desde el método de clase llamado a través de NUnit TestCaseSource podría estar relacionado con el hecho de que el registrador se inicializa estáticamente. En este caso, la inicialización del registrador ocurre antes de que se inicialice la salida de la consola del corredor de pruebas, por lo tanto, los mensajes de registro no se muestran en la consola.

    Para resolver esto, podríamos inicializar el registrador en la configuración o constructor del conjunto de pruebas. Esto asegura que la inicialización del registrador ocurra después de la inicialización de la salida de la consola y los mensajes de registro se mostrarán correctamente en la consola.

    Otro enfoque sería redirigir la salida de la consola a un destino de archivo también, lo que asegura que todos los mensajes de registro se registren tanto en la consola como en el destino del archivo.

    En resumen, el problema podría ser causado por la inicialización estática del registrador, que podría resolverse inicializando el registrador en la configuración o constructor del conjunto de pruebas, o redirigiendo la salida de la consola a un destino de archivo.

Comments are closed.