2015-05-29 5 views
10

Qualcuno può dirmi come abilitare o ottenere l'output di testo di debug o console durante l'esecuzione di test di unità in un progetto di test nativo (C++) in Visual Studio 2012?Test di unità native di Visual Studio: output di debug/console?

La risposta non deve includere la frase "usa Google Test".

+0

Il sottosistema di commutazione è destinato alla console? (proprietà del progetto/linker/sistema) –

+0

Bella idea ma ahimè, no. Il mio codice sta emettendo testo usando OutputDebugStringA e OutputDebugStringW. Suppongo di aver bisogno di usare qualche altra libreria? – Robinson

+1

L'ho risolto. L'output di debug viene visualizzato nella finestra di output di debug se si fa clic con il pulsante destro del mouse e si sceglie 'debug' su qualsiasi test nella finestra di test explorer. Altrimenti no. – Robinson

risposta

0

L'output di debug viene visualizzato nella finestra di output di debug se si fa clic con il pulsante destro del mouse e si sceglie "debug" su qualsiasi test nella finestra di Esplora risorse. Altrimenti no.

+0

dove dovrei fare clic con il pulsante destro del mouse? Menu principale –

+0

-> Test -> Windows -> Test Explorer, quindi fare clic con il tasto destro del mouse su uno dei test nella finestra per visualizzare il menu contestuale e scegliere il debug da lì. – Robinson

+0

Questo sembra essere vero in VS 2017, usando OutputDebugString (L "Message"); – Elliot

13

Nel codice di test di unità, è possibile utilizzare

Logger::WriteMessage("My message string"); 

e apparirà il messaggio nella finestra di output.

+0

funziona per me su VS 2015 –

0

La risposta di Brian è corretta. Utilizzare

Logger::WriteMessage("some text"); 

ed eseguire normalmente il test (non è necessario eseguire il debug). Tuttavia, è necessario selezionare "Test" nell'elenco a discesa "Mostra output da" nella parte superiore della finestra Output.

VS 2013 Output window with Tests output selected