Вывод текста в UnitTests - PullRequest
       1

Вывод текста в UnitTests

7 голосов
/ 17 сентября 2010

Когда я запускаю свои модульные тесты, я хотел бы распечатать и прочитать, сколько времени требуется для запуска функции. Я пытался использовать Console.WriteLine () Trace.WriteLine (), но это не сработало. Кто-нибудь знает правильный метод, который я должен использовать?

У меня есть следующий модульный тест

[TestMethod()]
public void ProductSerializationTest()
{

    Stopwatch swSerialization = new Stopwatch();
    swSerialization.Start();
    SerializeProductsToXML(dummyProductList, XMLFolderPath);
    swSerialization.Stop();
    //Print out swSerialization.Elapsed value
 }

Ответы [ 3 ]

6 голосов
/ 18 сентября 2010

Если вы используете Visual Studio со встроенной поддержкой тестирования, вывод System.Diagnostics.Trace.WriteLine будет отправлен в отчет о результатах тестирования. То есть после запуска теста дважды щелкните его запись в списке «Результаты теста», и в отчете о выполнении теста появится раздел «Трассировка отладки».

2 голосов
/ 16 ноября 2015

У меня была такая же проблема.В конце концов я нашел это решение.Обратите внимание на зеленую галочку или красную x при запуске теста в VS?Теперь нажмите на это, а затем нажмите на ссылку, которая говорит output

Это показывает все Trace.WriteLine() для меня, даже когда не в режиме отладки.

2 голосов
/ 19 сентября 2010

Поскольку вы используете Microsoft.VisualStudio.TestTools.UnitTesting, наиболее разумно было бы вызвать TestContext.WriteLine () .Вот как использовать TestContext .


Поскольку я использую TestDriven и NUnit, я просто Console.WriteLine(), и сообщения отображаются при запуске тестов с отладчиком.

...