因为您can't使用MSTest在测试类上设置了测试类别,所以我选择在名称中执行类似的操作,只要测试类包含慢速运行测试,就会使用...IntegrationTests
进行后缀测试
在Visual Studio测试资源管理器中,我可以使用以下方法排除这些测试:
-class:IntegrationTests
但是,在TeamCity中,此选项不起作用。我在最新版本的TeamCity中使用了VSTest 2017测试引擎版本。但是,它似乎只有TestCaseFilter
选项似乎缺少在某个类中排除测试的选项?
我使用this VSTest.ConsoleRunner documentation和this post about the TestCaseFilter
来得出这个结论。我还通读了runsettings file documentation,看看它是否包含任何信息,但没有运气。
我的目标是让1个TeamCity步骤在不"标记为"的类中运行所有测试。因为速度很慢,所以在 标记的类中进行测试的另一个后续步骤。
我目前看到的唯一解决方法是将我的测试项目的所有分成两个项目,并将这些集成测试类移到单独的程序集中。我宁愿不这样做。
底线:如何在类名包含特定字符串的类中排除测试?
答案 0 :(得分:1)
TestCategory属性可以在类/程序集级别使用。见这里:https://blogs.msdn.microsoft.com/visualstudioalm/2017/02/25/mstest-v2-now-and-ahead/。
此外,请在此处查看相同的推文帖子:https://twitter.com/pvlakshm/status/844905609409564672