Tim*_*han 10 trace nunit unit-testing mstest visual-studio
在NUnit中,我习惯在测试中编写Trace语句,并将它们显示在NUnit gui的trace选项卡中.
在一个新项目中,我正在转向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
Run Code Online (Sandbox Code Playgroud)
我遇到了失败,所以我知道Debug.Write和Trace.Write行正在执行.
我已经阅读了MSDN文档来编写这些测试,如果在命令行执行,我可以通过以下方式查看跟踪输出:
mstest.exe /testcontainer:mydll.dll /detail:debugtrace
Run Code Online (Sandbox Code Playgroud)
但是,在visual studio中直接执行测试时,我找不到跟踪输出.是否有另一种在单元测试期间输出信息的首选方法,或者我是否缺少在visual studio中查看跟踪信息的选项?
答案: 下面的两个答案(Console.Write和Debug.Write)都有效,结果在测试结果详细信息中(底部的TestResult窗格,右键单击测试结果并转到TestResultDetails).另外,我在项目属性中设置了Debug和Trace常量.
Mic*_*ves 10
通常我使用这种方法在visual studio的输出窗口中打印一些东西:
System.Diagnostics.Debug.WriteLine("Message");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8024 次 |
| 最近记录: |