我有一个有序的测试,它有一些运行正常的测试。
我的问题是在测试执行期间我无法看到正在运行的测试。 如何监控有序测试的执行情况?
答案 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
另一种方法是使用TestSetup
和TestTearDown
,例如:
Test B
Calling TestSetup(run A)
Calling B
Calling TestTearDown(run C)