Usando ReSharper, ¿cómo mostrar la salida de depuración durante una prueba unitaria de larga duración?
Estoy usando xUnit con el corredor de prueba ReSharper y elxUnitContrib plugin de resharper.
Cuando tengo una prueba de larga duración, me gustaría poder enviar un indicador de progreso a la ventana de Resultados de la prueba de la unidad.
He intentadoDebug.WriteLines
, Trace.WriteLine
yConsole.WriteLine
. Todos los cuales tienen el mismo comportamiento: nada se muestra en la ventana de resultados hasta que la prueba se haya completado.
Por ejemplo:
[Fact]
public void Test()
{
Debug.WriteLine("A");
Trace.WriteLine("B");
Console.WriteLine("C");
Thread.Sleep(10000);
}
La prueba no muestra salida hasta que hayan transcurrido los 10 segundos y la prueba finalice. ¿Cómo obtengo salida en el camino?
ACTUALIZACIÓN 1
Intenté también con MSTest y NUnit. NUnit es el único que muestra resultados en el camino.
MSTest y XUnit no devuelven ninguna salida hasta que se completa la prueba. La parte más extraña es que, si bien la salida de prueba de la XUnit y la NUnit se ve así:
A
B
C
La salida de MSTest se ve así:
C
Debug Trace:
A
B
Dadas todas estas variaciones, creo que la respuesta es que depende de la implementación del corredor de prueba decidir cómo y cuándo realizar la salida. ¿Alguien sabe si es posible configurar el corredor de prueba XUnit?
ACTUALIZACIÓN 2
Creo que esto debe ser una deficiencia en xUnitContrib. Publicado en suRastreador de problemas CodePlex.