【问题标题】:Progress indication in unit tests单元测试中的进度指示
【发布时间】:2014-11-13 10:43:31
【问题描述】:
我有一个运行时间很长的单元测试,我想要一些反馈和进度指示。我尝试使用 Debug.Writelline()、相应的 Console 和 Trace 方法,但我无法从测试中获得输出。
有人可以帮忙吗?我正在使用 Visual Studio 2012、xUnit 和 Resharper。网上有很多关于这个的文章,但都没有解决问题。
谢谢,M
【问题讨论】:
标签:
c#
visual-studio
unit-testing
resharper
xunit
【解决方案1】:
如果可以将测试分解为许多较小的测试,则应将测试分解为许多较小的测试,单元测试工具旨在显示一组测试的进度,而不是显示单个长时间运行的测试的进度,因此它们最适合用于大量测试的小测试。长时间运行单元测试被认为是不好的做法,因为它们通常难以管理,并且当它们中断时很难弄清楚如何修复。
【解决方案2】:
xunit.net 不支持随着测试的进行写入输出。相反,输出是成批的,并在每次测试结束时显示。这正是 xunit 的 API 的工作方式。