好的,我已经搜索完这方面的好信息了。
我有一系列调用静态类的单元测试,该静态类一旦初始化,就会设置不能(或我不希望)更改的属性。
我的问题是我无法强制执行测试的运行顺序。如果可以的话,我可以以可靠的方式设置静态属性的方式运行它们,并且我可以对它们进行断言,但不幸的是 Microsoft.VisualStudio.TestTools.UnitTesting 框架只是以看似随机的顺序运行它们。
所以,我发现了这个http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx在备注部分中说“测试系统不使用此属性。它是出于自定义目的提供给用户的。”啊?那有什么好处呢?他们是否期望我编写自己的测试包装器来利用这个神话般的属性(如果我想达到那种程度的努力,我可以轻松地自己编写该属性......)
所以,咆哮已经够多了;最重要的是,有没有办法控制我的单元测试运行的顺序?
[TestMethod]
[Priority(0)]
等等似乎不起作用,这是有道理的,因为微软说它不会。
另外,请不要评论“违反隔离”。 TestClass 隔离了我正在测试的内容,而不是单独的 TestMethods。无论如何,每个测试都可以独立运行,只是不能以随机顺序一起运行,因为无法拆除静态类。
哦,我还知道“有序测试”。
您可以使用Playlist
右键单击测试方法 -> 添加到播放列表 -> 新建播放列表
执行顺序将与您将它们添加到播放列表中时相同,但如果您想更改它,您拥有该文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)