将自定义消息添加到单元测试结果

Rus*_*sby 35 c# unit-testing mstest visual-studio-2010

有没有办法可以在测试方法的结果中添加自定义消息?我想在代码的一部分上放一个秒表,看看它的运行时间.我不需要测试它是否在某个时间范围内运行,只是想在结果窗口中看到经过的时间是多少.

vcs*_*nes 63

假设您正在使用MSTest,则可以使用

System.Diagnostics.Trace.WriteLine("Hello World");
Run Code Online (Sandbox Code Playgroud)

输出你想要的任何东西.它将显示在测试运行器的完整结果中.


Adr*_*ley 7

上面的例子对我不起作用,但以下是:

var result = routeManager.UpdateWalkingOrder(previouspremiseFuncLoc, premiseFuncLoc, out message);

Assert.AreEqual(true, result, message);
Run Code Online (Sandbox Code Playgroud)

消息是我想要在我的测试结果的错误消息对话框中显示的任何错误.在上面的例子中,我返回在执行该函数时捕获的错误,并在我的测试结果中显示它,这对调试很有帮助.

在您的情况下,您可以只显示运行时间.

  • 这仅在断言失败时起作用. (4认同)

小智 5

我走了同样的路线,试图找到一种向测试结果输出消息的方法.您只需将您存储elapsedtime到一个String并使用:

Console.WriteLine(elapsedtime);

为我工作很好.