使用TestDriven.Net时如何查看Debug.WriteLine语句?

And*_*rew 5 .net debugging testdriven.net

我试图使用TestDriven.Net不仅测试我的代码,而且调用我的代码上的函数,其目的是将代码的内部状态打印到Debug窗口.

这是我正在尝试做的一个非常简单的例子.

<TestFixture()> _
Public Class UnitTest

    <Test()> _
    Public Sub TestDebug()
        Dim oClass1 As New Class1

        Assert.AreEqual(True, oClass1.IsTrue)

        Debug.WriteLine("About to call .PrintDebug()")
        oClass1.PrintToDebug()

    End Sub

End Class

Public Class Class1

    Private _IsTrue As Boolean = True

    Public ReadOnly Property IsTrue() As Boolean
        Get
            Return _IsTrue
        End Get
    End Property

    Public Sub PrintToDebug()
        Debug.WriteLine("Internal state of Class1: " & _IsTrue)
    End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

我正在尝试测试Class1的Public接口,并以某种方式查看Class1.PrintToDebug()函数的输出.

我查看了TestDriven.Net快速入门,其中显示了Debug.WriteLine在单元测试中使用的示例,但奇怪的是这对我来说也不起作用 - 即我的'Test'窗口中唯一的输出是:

------ Test started: Assembly: ClassLibrary1.dll ------


1 passed, 0 failed, 0 skipped, took 1.19 seconds.
Run Code Online (Sandbox Code Playgroud)

我试过查看其他窗口(Debug和Build),Debug窗口启用了'Program Output'和'Exception Messages'选项.

我找了选项或偏好,找不到任何!

谢谢你的帮助!


编辑:我正在使用VB.Net 2.0,TestDriven.Net 2.14.2190和NUnit 2.4.8.0

Jon*_*jap 11

我发现虽然Debug.Writeline()不能用于单元测试,但是Console.WriteLine()可以.

原因是当您运行测试时,不会调用调试器进程,并忽略Debug.WriteLine().但是,如果您使用"Test with Debugger",我认为(尚未尝试过)Debug.WriteLine()将起作用.