c# - Visual Studio 2012 测试类别层次结构(测试资源管理器)

标签 c# unit-testing testing visual-studio-2012 mstest

我正在测试一个相当大的项目(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/

相关文章:

c# - 当我们使用 Nhibernate 3.2 的代码映射时,如何允许自动导入 ="true"?

c# - 在 NHibernate 中修改 SQL

java - JUnit 测试 - 进行测试的最佳且最可靠的方法?

使用 Jasmine 和 Sinon 测试主干模型 - 对象 #<Object> 没有方法 'spy'

java - 使用 Mockito 模拟函数会抛出与定义不同的错误

c# - C# 中调用函数而不创建对象

c++ - 仅在添加第二个项目后才出现第一个项目的编译错误

javascript - 我如何访问这个 Javascript 属性?

性能测试 Flex 客户端

c# - 静态类必须派生自对象 (C#)