Трассировка в тестировании Visual Studio (Миграция из NUnit) - PullRequest
10 голосов
/ 05 августа 2009

В NUnit я привык писать операторы Trace в тесте и отображать их на вкладке trace в графическом интерфейсе NUnit.

В новом проекте я перехожу к встроенному модульному тестированию в Visual Studio Professional Addition, которое, я считаю, является интерфейсом к mstest.exe.

Тестовый код:

<TestMethod()>
Public Sub TestPagesInheritFromBasePage()
    Dim webUI As Assembly = Assembly.GetAssembly(GetType(WebUI.BasePage))
    Dim badPages As New List(Of String)
    For Each t As Type In webUI.GetTypes()
        Debug.Write(t.Name + ", ")
        Trace.Write(t.Name + ", ")
        If t.BaseType Is GetType(System.Web.UI.Page) Then badPages.Add(t.Name)
    Next
    Debug.Flush()
    Trace.Flush()
    If badPages.Count > 0 Then
        Assert.Fail("{0}: do not inheriting from BasePage", String.Join(", ", badPages.ToArray()))
    End If
End Sub

Я получаю ошибку, поэтому я знаю, что выполняются строки Debug.Write и Trace.Write.

Я прочитал документы MSDN по написанию этих тестов, и я могу просмотреть результаты трассировки при выполнении в командной строке:

mstest.exe /testcontainer:mydll.dll /detail:debugtrace

Однако я не могу найти вывод трассировки при выполнении тестов непосредственно в Visual Studio. Есть ли другой предпочтительный метод вывода информации во время модульного теста, или я пропускаю опцию для просмотра информации о трассировке в visual studio?

Ответ: Оба приведенных ниже ответа (Console.Write и Debug.Write) сработали, результаты были представлены в разделе «Результаты теста» (панель «TestResult» внизу, щелкните правой кнопкой мыши «Результаты теста» и перейдите к TestResultDetails). Также я установил константы Debug и Trace в свойствах проекта.

Ответы [ 4 ]

10 голосов
/ 05 августа 2009

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

10 голосов
/ 05 августа 2009

Обычно я использую этот метод для печати чего-либо в окне вывода Visual Studio:

System.Diagnostics.Debug.WriteLine("Message");
2 голосов
/ 29 июля 2010

Чтобы увидеть результаты, дважды щелкните тест в окне «Результаты теста» (Доступ из главного меню «Тесты» >> меню окна >> Результаты теста)

1 голос
/ 20 июня 2012

Все предыдущие ответы на самом деле верны, но требуют более или менее щелчка мышью.

Если вы хотите сразу увидеть вывод без дополнительного нажатия , просто добавьте столбцы Трассировка отладки и / или Вывод (StdOut) вы используете Debug.Write или Console.Write) на панели Результаты теста , щелкнув правой кнопкой мыши результат теста и выбрав «Добавить / удалить столбцы».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...