不要从 TFS 2012 生成定义中的某些程序集运行单元测试



在TFS 2012中,我们有几个构建定义-CI、部署和夜间。

我们的CI构建运行解决方案中的所有(n)个单元测试,但是,我们需要让它忽略某些测试。

这是因为我们有一些长期运行的集成测试,而这些测试只需要每晚运行一次。

我尝试过的东西:

  • 使用TestCategoryAttribute(来自MSTest)并设置测试用例筛选器属性,尝试排除"Integration"
  • 使用CategoryAttribute(来自NUnit)并设置测试用例筛选器属性,尝试排除"Integration"
  • 以上内容的组合

需要忽略的测试都在单独的程序集中,名称中包含IntegrationTests或Integration.tests。

谢谢,
Kieron

我一直在单元测试中使用MSTest-TestCategory属性和TFS 2012中构建过程定义的测试类别过滤器设置的组合。

根据此处的Microsoft MSDN文章,您可以通过将测试类别过滤器设置为来指定要使用的类别

TestCategory=CategoryName

根据你最初的帖子,你需要使用以下过滤器:

TestCategory!=Integration

并用这个属性装饰你的测试:

[TestCategory("Integration")] 

对您希望在构建过程中忽略的所有单元测试执行此操作。测试列表在Visual Studio中已经被弃用,并且需要一段时间才能将所有内容转换为类别,但最终还是值得的。

希望能有所帮助!

相关内容

最新更新