ПРИМІТКА. Оригінальна відповідь, наведена нижче, повинна працювати для будь-якої версії Visual Studio, що перебуває через Visual Studio 2012. Схоже, у Visual Studio 2013 більше немає вікна результатів тесту. Натомість, якщо вам потрібен тестовий вихід, ви можете використовувати пропозицію @ Stretch про те, Trace.Write()
щоб записати вихід у вікно виводу.
Console.Write
Метод не записує на «консолі» - це пише все , що зачепило до стандартного виводу рукоятки для процесу , запущеного. Аналогічно, Console.Read
зчитується вхід з того, що підключено до стандартного вводу.
Під час запуску одиничного тесту через Visual Studio 2010, стандартний висновок переспрямовується тестовим джгутом і зберігається як частина тестового виводу. Ви можете побачити це, клацнувши правою кнопкою миші вікно Результати тестування та додавши на дисплей стовпець "Вихід (StdOut)". Це покаже все, що було написано на стандартний вихід.
Ви можете вручну відкрити вікно консолі, використовуючи P / Invoke, як каже sinni800 . Прочитавши AllocConsole
документацію, видно, що функція буде скинута stdin
та stdout
обробляється, щоб вказувати на нове вікно консолі. (Я не впевнений у цьому на 100%; мені здається, це неправильно, якщо я вже перенаправлявся stdout
на Windows, щоб викрасти його у мене, але я не намагався.)
Взагалі, хоча, я думаю, що це погана ідея; якщо все, для чого ви хочете використовувати консоль, - це скинути додаткову інформацію про ваш тест одиниці, вихід для вас є. Продовжуйте користуватися Console.WriteLine
таким, яким ви є, і перевіряйте результати виводу у вікні Результати тестування, коли це буде зроблено.