如何在VS2010的Test-Result窗口中查看单元测试的输出?

时间:2011-05-13 09:33:54

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

我是单元测试的新手,我想看看测试的输出。

我们假设我正在测试某些物体的存在:

List<MyObject> actual = target.GetMyObjects();
Assert.IsTrue(actual.Count > 0, String.Format("{0} objectes fetched", actual.Count));

在VS2010的“测试结果”窗口中,我想看到“String.Format(”{0} objectes fetched“,”actual.Count“”的结果。“。
这可能吗?

4 个答案:

答案 0 :(得分:7)

找到它:
我将列Output(StdOut)添加到“测试结果”窗口。

我将测试方法的结尾更改为:

bool success = actual.Count > 0;
Assert.IsTrue(success, "No models in the database");
if (success) 
{
   Console.Write(String.Format("{0} models fetched", actual.Count));
}

答案 1 :(得分:2)

是的,这是可能的。如果测试失败,那么你在第二个参数中放入的任何消息都可能有用。在你的情况下,如果计数值对于调试错误很重要,请继续。 即使稍后在调试此信息时自动执行测试失败或成功也可能会有所帮助。 http://www.creatingsoftware.net/2010/03/best-practices-for-assert-statements-in.html

答案 2 :(得分:0)

或者你可以使用

Debug.Print("whatever");

然后当您运行测试时,在成功/失败窗口中会出现一个超级“输出”,它将显示所有调试消息。

显然你需要添加

Using System.Diagnostics; 

的Dom

答案 3 :(得分:-1)

不,你不想看到输出。

每个单元测试必须成功或失败。这使测试运行器能够将测试结果聚合到单个Fail / Pass测试结果中。如果需要人工检查,则单元测试点将丢失 - 必须自动化。