代码之家  ›  专栏  ›  技术社区  ›  Hamish Grubijan

MsTest单元测试可以按类别分组吗

  •  7
  • Hamish Grubijan  · 技术社区  · 15 年前

    MbUnit 你可以这样做:

    [Test]
    [TestCategory("Bad Arguments")]
    [TestCategory("Fast")]
    [ExpectedException(typeof(ArgumentNullException))]
    public void TestCopyWithBadHref()
    {
       . . . 
    }
    

    注意这两个:

    [TestCategory("Bad Arguments")]
    [TestCategory("Fast")]
    

    由于TeamBuild可以与MsTest集成以执行门控签入和/或在夜间运行,因此它是一个很棒的功能!但是,考虑到有些测试可以运行很长时间,因此可以方便地将它们分为在确认每次签入之前应该运行的测试,以及由于持续时间和其他因素而应该在夜间运行的测试。

    实现这一点的一种方法可能是创建几个项目—一个用于慢测试,一个用于快速测试,等等。但是,这种分离是不方便的。项目依赖性感觉不太自然,另外一些测试可以在多个逻辑类别中。

    如果MsTest有类似于MbUnit已经有很长一段时间的东西,那将是非常好的。例如,一个人可以 MbUnit.Cons.exe 并指定要与命令行开关一起使用的类别。

    我怎样才能达到同样的效果 MsTest ? 我们是MSFT商店,我没能把MbUnit卖给我的同事。

    1 回复  |  直到 15 年前
        1
  •  15
  •   Mike Zboray    15 年前

    您可以使用/category选项筛选VS2010中的测试。

    它使用 testcategory attribute . 有关的详细信息 /category option .

    C代码可能如下所示:

    [Description("test 123456"), TestCategory("Edit Tests"), TestCategory("Non-Smoke"), TestMethod]
    public void VerifyEditsPersist()