Contexto:
Tenemos algunos usuarios informan problemas con una función de carga de archivos en nuestra aplicación web. Solo ocurre ocasionalmente y sin ningún patrón especial. Hemos estado tratando de resolverlo durante mucho tiempo, agregando información de depuración en cualquier lugar donde podamos pensar que podría ayudar, rastreando los registros, etc., pero no hemos podido reproducirlo o resolverlo.Cómo escribir a Console.Out durante la ejecución de una prueba MSTest
Problema:
Ahora estoy tratando de reproducir esto mediante el uso MSTest y WatiN repetir la operación que se supone que falle un gran número de veces (varios cientos). Sólo para tener una idea de hasta qué punto en el bucle de la prueba se ha hecho, quiero imprimir algo como:
Console.WriteLine(String.Format("Uploaded file, attempt {0} of {1}", i, maxUploads));
Esto sin embargo no aparece en la ventana de resultados. Ahora sé que obtendrás la salida de la consola en los resultados de la prueba (así como lo que sacaste de Debug.Writeline
, etc.), pero esto no estará disponible hasta después de que haya finalizado la prueba. Y dado que mi prueba con cientos de repeticiones podría llevar bastante tiempo, me gustaría saber qué tan lejos ha llegado.
Pregunta:
¿Hay alguna manera de conseguir la salida de la consola en la ventana de salida durante la ejecución de pruebas?
lo que, básicamente, 'Trace.Listeners.Add (nueva TextWriterTraceListener (Console.Out));' ' Trace.WriteLine ("Hello World");' –
Niza, me gusta. Para evitar esto, he usado log4net con un registrador de archivos. Tendrá que cambiar sus llamadas de Console.WriteLine a Logger.Info (...) – joshgo
Hmmm, estoy descubriendo que la sugerencia de @Martin Neal envía 'Trace.WriteLine()' y 'Console.WriteLine () 'salida a ** Vista de resultados de prueba **, * no * a ** Vista de salida **. (Y tenga en cuenta que en la ** Vista de Resultados de la Prueba **, puede ser necesario agregar la columna ** Salida (Stdout) haciendo clic derecho y seleccionando ** Agregar/Eliminar Columnas ... **). , tal vez todavía no estoy viendo salida en ** Vista de salida ** significa que me falta algo ... – DavidRR