因为您不能使用 MSTest 在测试类上设置测试类别,所以我选择在名称上做类似的事情,只要测试类...IntegrationTests
包含运行缓慢的测试,就为它们添加后缀。
在 Visual Studio 测试资源管理器中,我可以使用以下方法排除这些测试:
-class:IntegrationTests
但是,在 TeamCity 中,此选项不起作用。我在最新版本的 TeamCity 中使用 VSTest 2017 测试引擎版本。但是,它似乎只有一个TestCaseFilter
选项似乎缺少排除某个类中的测试的选项?
我使用了这个 VSTest.ConsoleRunner 文档和这篇文章TestCaseFilter
来得出这个结论。我还通读了runsettings 文件文档,看看它是否包含任何信息,但没有运气。
我的目标是让 1 个 TeamCity 步骤在未“标记”为慢的类中运行所有测试,并在标记的类中运行另一个后续步骤。
我目前看到的唯一解决方法是将我的所有测试项目分成两个项目,并将这些集成测试类移动到单独的程序集中。我宁愿不那样做。
底线:如何在类名包含特定字符串的类中排除测试?