2010-09-17 3 views
4

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

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

[TestMethod()] 
public void ProductSerializationTest() 
{ 

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

Что вы хотите напечатать? Окно отладчика, или вы запускаете тесты из консольного приложения и хотите распечатать на реальной консоли? –

+0

Я хотел бы распечатать любое окно, которое наиболее удобно. Из того, что я вижу, окно вывода кажется наиболее удобным. – burnt1ce

+0

Я только что использовал Debug.Print(). В своем тестовом проводнике (в VS) нажмите на свой тест, а внизу появится ссылка с именем Output, нажмите – Archmede

ответ

5

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

2

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


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

0

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

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

Смежные вопросы