web-dev-qa-db-fra.com

Comment obtenir la sortie de la console dans les tests unitaires de Visual Studio 2012

J'ai un test unitaire C++ géré dans VS 2012. Le test fonctionne correctement et je peux vérifier qu'une boucle avec plusieurs appels cout est exécutée.

Cependant, lorsque je regarde l'explorateur de tests, le test est marqué comme réussi, mais il n'y a pas d'hyperlien pour la sortie comme je suis habitué aux projets c #.

Le code à la fin de mon test est

for (int i = 0; i < 4; i++)
{
    cout << parameters[i];
    cout << endl;
}

que je peux vérifier s'exécute en le parcourant dans le débogueur. J'ai également essayé avec cerr mais aucune différence.

23
bradgonesurfing

Vous pouvez utiliser Debug :: WriteLine () (dans l'espace de noms System :: Diagnostics) ou Console :: WriteLine () pour écrire la sortie dans la console Visual Studio 2012.

Code pour le test (notez que l'espace de noms System :: Diagnostics est déclaré ailleurs). The Test

La vue des résultats du test.

enter image description here

Après avoir cliqué sur le lien "Sortie":

enter image description here

Il n'utilise pas std :: cout, mais j'espère que cela fera ce dont vous avez besoin.

18
olen_garn

Pour moi semble fonctionner en utilisant:

Logger::WriteMessage("What ever message");

Après avoir exécuté le test, vous pouvez voir la sortie dans le Test Explorer fenêtre en cliquant sur output

16
Hanan N.

Je ne sais pas si je peux vous donner une réponse définitive, mais je pourrai peut-être vous donner un indice.

Dans mon ancien code qui devait obtenir la sortie dans la fenêtre de la console lors d'une étape de génération personnalisée, j'ai utilisé les lignes suivantes:

_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);

Il y a une description à http://msdn.Microsoft.com/en-us/library/8hyw4sy7 (v = vs.71) .aspx pour _CrtDbgReport.

Pour moi, cela a fait apparaître la sortie de mon C++ géré via la fenêtre de sortie de la génération. J'espère que cela peut vous aider avec les tests unitaires.

2

Selon Microsoft connect trx et les résultats des tests sont déconseillés

:(

http://connect.Microsoft.com/VisualStudio/feedback/details/750184/test-results-window-does-not-show-test-results

1
n8CodeGuru