Ответ 1
вы должны заменить Console.WriteLine
на System.Diagnostics.Debug.WriteLine(...)
и вы увидите вывод в окне вывода отладки Visual Studio.
Изменить: только что узнал, что это дублированный вопрос, посмотрите здесь:
Я пытаюсь показать некоторую информацию из метода [TestMethod].
Обычно мы используем NUnit, а строка с Console.WriteLine
работает нормально, и мы можем видеть ее в окне "output", но в этом проекте мы должны использовать инструменты тестирования, украшенные VS2010, и Console.WriteLine
не запускается, потому что мы ничего не видит.
То, что я хочу, это показать сообщения трассировки в окне "Выход" таким образом более или менее:
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test1
{
[TestClass]
public class TestNum1
{
[TestMethod]
public void Constructors()
{
for (int b = 1; b < 99; b++) {
Console.WriteLine(b.ToString()); // <<<<<<< This don't show on Output.
Assert.AreEqual(b, b); // This is only a silly sample.
}
}
}
}
вы должны заменить Console.WriteLine
на System.Diagnostics.Debug.WriteLine(...)
и вы увидите вывод в окне вывода отладки Visual Studio.
Изменить: только что узнал, что это дублированный вопрос, посмотрите здесь:
Вы можете использовать testContextInstance.WriteLine(string s);
Вы можете принудительно отобразить Console.WriteLine()
, запустив командную строку MSTest
с опцией /detail:stdout
.
например:
MSTEST /testcontainer:MyDllToTest.dll /testSettings.local.TestSettings /detail:stdout
(обратите внимание, что я использую /testSettings
для предотвращения копирования (развертывания) DLL в каталоге testResults