В NUnit я привык писать операторы трассировки в тесте и отображать их на вкладке трассировки графического интерфейса 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 в свойствах проекта.