我试图使用TestDriven.Net不仅测试我的代码,而且调用我的代码上的函数,其目的是将代码的内部状态打印到Debug窗口.
这是我正在尝试做的一个非常简单的例子.
_ Public Class UnitTest _ 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
我正在尝试测试Class1的Public接口,并以某种方式查看Class1.PrintToDebug()
函数的输出.
我查看了TestDriven.Net快速入门,其中显示了Debug.WriteLine
在单元测试中使用的示例,但奇怪的是这对我来说也不起作用 - 即我的'Test'窗口中唯一的输出是:
------ Test started: Assembly: ClassLibrary1.dll ------ 1 passed, 0 failed, 0 skipped, took 1.19 seconds.
我试过查看其他窗口(Debug和Build),Debug窗口启用了'Program Output'和'Exception Messages'选项.
我找了选项或偏好,找不到任何!
谢谢你的帮助!
我发现虽然Debug.Writeline()不能用于单元测试,但是Console.WriteLine()可以.
原因是当您运行测试时,不会调用调试器进程,并忽略Debug.WriteLine().但是,如果您使用"Test with Debugger",我认为(尚未尝试过)Debug.WriteLine()将起作用.