我注意到 Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute 的存在。通过阅读一点,它似乎与测试执行顺序无关。既然如此,这就引出了一个问题:它是用来做什么的?
我很好奇,Visual Studio 本身的任何插件/框架是否有此属性的任何已知用途。
我注意到 Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute 的存在。通过阅读一点,它似乎与测试执行顺序无关。既然如此,这就引出了一个问题:它是用来做什么的?
我很好奇,Visual Studio 本身的任何插件/框架是否有此属性的任何已知用途。
它只是额外的元数据,现在不用于任何特定的东西。唯一影响测试顺序的是使用有序测试
在 Visual Studio 2012 测试资源管理器工具窗口中,当您选择“特征”视图时,会同时显示测试优先级和测试类别。然后,具有相同优先级的测试将在一个Priority [x]
标题下组合在一起,就像测试类别一样。
此外,mstest(Visual Studio 中包含的命令行测试运行程序)允许您仅运行具有最低优先级的测试。从输出mstest.exe /?
:
/minpriority:[priority] Only tests whose priority is greater than
or equal to this value will be executed.
Example:
/minpriority:0 /maxpriority:2
它可用于构建定义(用于构建服务器上的构建)以排除或包含单元测试(至少在 tfs 2010 中)。