【问题标题】:How can I see the results of my Unit Tests in VS2017?如何在 VS2017 中查看单元测试的结果?
【发布时间】:2019-01-30 04:45:26
【问题描述】:

我正在 VS17 中对 GetModelAsync()CreateModelAsync() 方法运行单元测试。然后我对模型字段运行Assert.Equal 检查以确保它们与预期值匹配。

我希望能够查看模型的最终状态,这将帮助我确定测试失败的原因或允许我手动检查模型。我认为类似于在调试器中跟踪变量的东西是有意义的,尽管我不想实际运行调试器。

有没有办法做到这一点?

【问题讨论】:

  • 生成一个包含你想看的信息的文本文件,测试用例完成后使用Process.Start打开它。

标签: visual-studio unit-testing visual-studio-2017


【解决方案1】:

您可以在测试中写入控制台,它将显示在测试资源管理器中。在执行此操作之前,您可能希望先将复杂对象序列化为 JSON。例如:

Console.WriteLine(JsonConvert.SerializeObject(myObject));

注意,对于 Visual Studio 的内置测试运行器,您必须经过几个步骤才能看到控制台输出。在 Test Explorer 窗口中,单击测试名称,然后在结果面板中单击 Output 链接,这将打开一个单独的窗口以显示控制台输出。这一切都非常不直观。

【讨论】:

  • 我试过了,但我的测试资源管理器窗口没有显示任何内容。
  • 除了我的测试资源管理器之外,还有我应该展开的窗口吗?
  • 有点隐藏,抱歉。测试资源管理器有两个方面,测试列表和测试结果,它将显示异常的堆栈跟踪。在测试列表中,选择应该记录文本的测试。然后你会看到Output 的链接,它将显示控制台数据。它比它应该隐藏的要隐蔽得多。 Resharper 的测试窗口没有隐藏它,所以我忘记了。
  • 是的。这正是我正在寻找的窗口,也正是我正在努力寻找的窗口。我打开了常规输出窗口,并显示“测试”的输出,它为我提供了测试开始、停止和总时间等的数据……你指的是那个窗口吗?跨度>
  • 不,您运行测试的窗口。从顶部菜单测试 > Windows > 文本资源管理器。当测试将数据记录到控制台时,当您在测试列表中选择它时,它将在该窗口中显示该测试的额外链接。 stackoverflow.com/a/38376619/4415493
猜你喜欢
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 2018-04-26
相关资源
最近更新 更多