В 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 в свойствах проекта.