У меня есть управляемый модульный тест C ++ в VS 2012. Тест работает нормально, и я могу
убедитесь, что цикл с несколькими cout
звонки выполнены.
Однако когда я смотрю на тестовый проводник, тест помечается как пройденный.
но нет гиперссылки для вывода, как я привык для C #
проекты.
Код в конце моего теста
for (int i = 0; i < 4; i++)
{
cout << parameters[i];
cout << endl;
}
который я могу проверить работает, как я шагаю по
это в отладчике. Я также пытался с
cerr
но без разницы
Вы можете использовать Debug :: WriteLine () (в пространстве имен System :: Diagnostics) или Console :: WriteLine () для записи вывода в консоль Visual Studio 2012.
Код для теста (обратите внимание, что пространство имен System :: Diagnostics объявлено в другом месте).
Просмотр результатов теста.
После нажатия на ссылку «Вывод»:
Он не использует std :: cout, но, надеюсь, это сделает то, что вам нужно.
Для меня, кажется, работает с помощью:
Logger::WriteMessage("What ever message");
После запуска теста вы можете увидеть результат в Test Explorer
окно, нажав на output
Я не знаю, что могу дать вам окончательный ответ, но я могу дать подсказку.
В моем старом коде, который должен был выводиться в окно консоли во время пользовательского этапа сборки, я использовал следующие строки:
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
Есть описание на http://msdn.microsoft.com/en-us/library/8hyw4sy7(v=vs.71).aspx для _CrtDbgReport.
Для меня это сделало вывод из моего управляемого C ++ показом через окно вывода сборки. Надеюсь, это поможет вам с модульным тестированием.
По данным Microsoft Connect TRX и результаты испытаний устарели
🙁