我正在测试一个相当大的项目(C#、VS2012),我需要在测试层次结构中安排我的单元测试(例如:现在我有 43 个测试用例)。我确实需要层次结构。
我已经定义了测试类别,测试资源管理器按特征显示测试用例。我有这样的类别(一个测试有几个类别)
- TestCase01:MainTestType、SubTestType、SubsubTestType
- ...
- 测试用例 10:MainTestType、SubTestType、SubsubTestType
- 测试用例 11:MainTestType、SubTestType2、SubsubTestType2
- ...
- 测试用例 15:MainTestType、SubTestType2、SubsubTestType2
定义如下:
[TestMethod]
[TestCategory("MainTestType")]
[TestCategory("SubTestType")]
[TestCategory("SubsubTestType")]
public void MyTestCase()
{ /* etc. */
但是 Test Explorer 显示下一个:
- MainTestType:所有具有类别 MainTestType 的测试
- SubTestType:所有具有 SubTestType 类别的测试
- 等...
所以我真的很怀念层次结构。我已经尝试过“Cat1\Cat2\Cat3”甚至是/。但是没有显示层次结构。你知道怎么做吗,或者可以为我做的免费插件?
我也需要这些类型的分类,因为我们经常从命令行运行测试,而 mstest.exe 可以运行一个类别的测试(例如所有 MainTestType 或 SubTestType)。 (我坚持使用mstest,因为一半的团队使用vs2010)。但是这个解决方案对于vs2012来说已经足够了。
提前谢谢你。
最佳答案
由于目前不支持我搜索的内容,我做了下一个解决方法:
- 构建项目
- 为所有测试运行 MSText -> .trx 输出
- 简单的 winforms/wpf 程序,它解析 .trx,获取测试用例并将它们显示在 TreeView 中
- 现在我们可以从这个应用程序为选定的节点运行 mstest -> 创建 .trx 输出(可以在 VS 中打开)
我使用 .trx 是因为这样我就不必解析程序集,而由 mstest.exe 来完成。 测试类别是这样制作的:
[TestCategory("MainTestType")]
[TestCategory("MainTestType/SubTestType")]
[TestCategory("MainTestType/SubTestType/SubsubTestType")]
所以这是一个简单的解决方法,只有一个二进制文件,开发人员也可以使用。播放列表的问题在于它们也不是分层的。
关于c# - Visual Studio 2012 测试类别层次结构(测试资源管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16496270/