最佳答案
好了,我不想再找这方面的有用信息了。 我有一系列的单元测试,调用一个静态类,一旦初始化,设置属性,不能(或我不希望)改变。
我的问题是我不能强制执行测试运行的设置顺序。如果可以的话,我可以以这样一种方式运行它们,因为静态属性将以一种可靠的方式设置,我可以对它们进行断言,但不幸的是,Microsoft。VisualStudio.TestTools 测试工具。UnitTest 框架只是以看似随机的顺序运行它们。
因此,我找到了这个 http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx,它在备注部分中说: “这个属性没有被测试系统使用。它提供给用户用于定制目的。”啊?那有什么用?他们是否期望我编写自己的测试包装来利用这个神话般的属性(如果我想要达到这个水平,我可以很容易地编写自己的测试包装...)
那么,不要再抱怨了; 底线是,有没有办法控制我的单元测试运行的顺序?
[TestMethod]
[Priority(0)]
等似乎没有工作,这是有道理的,因为微软说它不会。
此外,请不要评论“违反隔离”。TestClass 隔离我正在测试的内容,而不是单独的 TestMethod。无论如何,每个测试都可以独立运行,只是它们不能以随机顺序一起运行,因为没有办法拆分静态类。
我还知道“有序测试”。