【发布时间】:2013-07-18 13:01:29
【问题描述】:
我有一些单元测试装置,它们被归为 [Category("Fast")]
如何配置 TeamCity 使其仅运行类别名称为“Fast”的单元测试?
我相信一定有办法。
【问题讨论】:
标签: unit-testing teamcity
我有一些单元测试装置,它们被归为 [Category("Fast")]
如何配置 TeamCity 使其仅运行类别名称为“Fast”的单元测试?
我相信一定有办法。
【问题讨论】:
标签: unit-testing teamcity
这取决于您使用的单元测试框架。
它们中的每一个都提供了一个实用程序来运行测试,您可以在其中指定一些选项。
对于 MS 测试,它看起来像这样:
mstest /category:Fast
类似的东西应该存在于每个单元测试框架(NUnit、XUnit)中。
当您使用 Team City 时,您应该仔细检查您的单元测试选项,并找到一个可以提供有关类别的附加选项的地方(通常命名为“命令行选项”、“附加参数”或smth类似)。我不记得确切,但我认为它应该存在于 Team City 内置任务中以运行 unt 测试。
即使单元测试运行的内置任务缺少此功能,您也可以随时切换到通用脚本执行任务并在其中运行类似 mstest /category:Fast 的内容。
【讨论】:
当您使用内置的 NUnit 构建步骤时,您可以指定应该测试和不测试的类别。
【讨论】:
FWIW 为 MSTest 运行程序排除多个测试类别:在 "/category:!ServiceDependent" 中的附加命令行参数中排除 ServiceDependent 测试,或在 "/category:!ServiceDependent&!EntryPoint" 中排除 ServiceDependent 和 EntryPoint 测试。当然,您需要相应地装饰测试。至于你为什么想要?那是另一个故事了……
【讨论】:
我花了很长时间弄清楚应该如何在 VS 测试 步骤中使用它: Team City Example
VS Tests 的语法:
排除示例:
/TestCaseFilter:TestCategory!=Integration
【讨论】: