在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中已经被弃用,并且需要一段时间才能将所有内容转换为类别,但最终还是值得的。
希望能有所帮助!