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.
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).
La vue des résultats du test.
Après avoir cliqué sur le lien "Sortie":
Il n'utilise pas std :: cout, mais j'espère que cela fera ce dont vous avez besoin.
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
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.
Selon Microsoft connect trx et les résultats des tests sont déconseillés
:(