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

Visual Studio 2012 Ordered Test, how to monitor test execution

我有一个有序的测试,其中有一些测试 运行 正确。

我的问题是在测试执行期间我看不到哪个测试是 运行ning。 如何监控已排序测试的执行情况?

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

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

如果您想在测试时查看一些进度指示 运行 您可以随时将其报告给 Visual Studio 输出 window 使用例如

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

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

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