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

时间:2011-01-04 01:24:41

标签: c# visual-studio-2010 unit-testing mstest

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

4 个答案:

答案 0 :(得分:63)

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

System.Diagnostics.Trace.WriteLine("Hello World");

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

答案 1 :(得分:7)

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

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

Assert.AreEqual(true, result, message);

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

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

答案 2 :(得分:5)

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

即可

Console.WriteLine(elapsedtime);

为我工作很好。

答案 3 :(得分:1)

根据邮件的长度,您可能希望使用Console.WriteLine。它会添加到测试结果列名Output (StdOut)中,因此您无需进入测试运行详细信息即可查看。

我发现输出一些非常一般的信息很有用,例如测试的属性数量,或者测试实际运行的任何其他证据。

如果您没有状态消息,如果有人破坏了您的代码并从测试方法体中删除了所有内容,该怎么办?他们现在都在路过,但根本没有用。

相关问题