Visual Studio 2012 Ordered Test,如何监控测试执行

时间:2015-05-29 09:48:29

标签: c# visual-studio-2012 testing ordered-test

我有一个有序的测试,它有一些运行正常的测试。

我的问题是在测试执行期间我无法看到正在运行的测试。 如何监控有序测试的执行情况?

2 个答案:

答案 0 :(得分:2)

Visual Studio支持有序测试,如here所述。

您必须在解决方案中添加Ordered Test,其中包含实际的单元测试。在有序测试中,您可以定义以哪种顺序执行哪个测试。

如果要在测试运行时查看某些进度指示,可以使用例如将其报告给Visual Studio输出窗口。

void ReportProgress(string testName, int progress)
{
    System.Diagnostics.Debug.WriteLine("Test {0} running ({1}%)", testName, progress);
}

答案 1 :(得分:0)

我会勇敢地说你做错了。

测试应该简单,自给自足,小而且独立。

独立的原因是您可能无法可靠且持续地保证实际程序中的执行顺序。通常你会有几个开发人员在同一个项目上工作,这些开发人员可能会搞乱缩进的调用顺序。

另一种方法是将测试之间的依赖关系重构为单个测试,例如

// From 
Test A -> Test B -> Test C

// To 
Test ABC
   Calling A
   Calling B
   Calling C

另一种方法是使用TestSetupTestTearDown,例如:

Test B
   Calling TestSetup(run A)
   Calling B
   Calling TestTearDown(run C)