【发布时间】:2015-05-29 09:48:28
【问题描述】:
我有一个有序的测试,其中一些测试运行正常。
我的问题是在测试执行期间我看不到正在运行的测试。 如何监控有序测试的执行?
【问题讨论】:
标签: c# visual-studio-2012 testing ordered-test
我有一个有序的测试,其中一些测试运行正常。
我的问题是在测试执行期间我看不到正在运行的测试。 如何监控有序测试的执行?
【问题讨论】:
标签: c# visual-studio-2012 testing ordered-test
Visual Studio 支持按here 解释的有序测试。
您必须将Ordered Test 添加到可以包含实际单元测试的解决方案中。在有序测试中,您可以定义哪个测试以哪个顺序执行。
如果您想在测试运行时查看一些进度指示,您可以随时使用例如将其报告到 Visual Studio 输出窗口
void ReportProgress(string testName, int progress)
{
System.Diagnostics.Debug.WriteLine("Test {0} running ({1}%)", testName, progress);
}
【讨论】:
我会勇敢地说你做错了。
测试应该简单、自给自足、小而独立。
独立的原因是您可能无法可靠且持续地保证实际程序中的执行顺序。通常你会有几个开发人员在同一个项目上工作,他们可能会弄乱缩进的调用顺序。
另一种方法是将测试之间的依赖关系重构为单个测试,就像这样
// From
Test A -> Test B -> Test C
// To
Test ABC
Calling A
Calling B
Calling C
另一种方法是使用TestSetup 和TestTearDown,例如:
Test B
Calling TestSetup(run A)
Calling B
Calling TestTearDown(run C)
【讨论】: