Contesto:
Abbiamo alcuni utenti di segnalare problemi con una funzione di upload di file nella nostra applicazione web. Succede solo occasionalmente e senza alcun modello speciale. Abbiamo cercato di capirlo per un lungo periodo, aggiungendo informazioni di debug ovunque possiamo pensare che potrebbero essere d'aiuto, eseguendo la scansione dei log ecc., Ma non siamo stati in grado di riprodurli o capirli.Come scrivere a Console.Out durante l'esecuzione di un test MSTest
Problema:
Ora sto cercando di riprodurre questo utilizzando MSTest e WatiN di ripetere l'operazione che si suppone a fallire un gran numero di volte (diverse centinaia). Solo per avere un indizio su quanto lontano nel ciclo del test ha ottenuto, voglio stampare qualcosa di simile:
Console.WriteLine(String.Format("Uploaded file, attempt {0} of {1}", i, maxUploads));
Ciò tuttavia non compare nella finestra di output. Ora so che otterrete l'output della console nei risultati del test (oltre a quello prodotto da Debug.Writeline
ecc.), Ma questo non è disponibile fino al dopo il il test è terminato. E poiché il mio test con centinaia di ripetizioni potrebbe richiedere parecchio tempo, mi piacerebbe sapere fino a che punto è arrivato.
Domanda:
C'è un modo posso ottenere l'output della console nella finestra Output durante esecuzione del test?
Quindi, fondamentalmente, 'Trace.Listeners.Add (nuova TextWriterTraceListener (Console.Out));' ' Trace.WriteLine ("Ciao Mondo");' –
Nizza, mi piace. Per aggirare questo ho usato log4net con un filelogger. Dovrete modificare le chiamate da Console.WriteLine a Logger.Info (...) – joshgo
Hmmm, ho constatato che il suggerimento @ Martin Neal manda sia Console.WriteLine 'Trace.WriteLine()' e '() restituisce la visualizzazione ** Risultati test **, * non * ** Visualizzazione output **. (E nota che nella ** Visione risultati test **, potrebbe essere necessario aggiungere la colonna ** Output (Stdout) ** facendo clic con il pulsante destro del mouse e selezionando ** Aggiungi/Rimuovi colonne ... **.) Ma , uscita forse sto ancora non vedendo nel ** Output View ** significa che mi manca qualcosa ... – DavidRR