【问题标题】:How to configure TeamCity to run only unit tests with certain categories?如何将 TeamCity 配置为仅运行特定类别的单元测试?
【发布时间】:2013-07-18 13:01:29
【问题描述】:

我有一些单元测试装置,它们被归为 [Category("Fast")]

如何配置 TeamCity 使其仅运行类别名称为“Fast”的单元测试?

我相信一定有办法。

【问题讨论】:

    标签: unit-testing teamcity


    【解决方案1】:

    这取决于您使用的单元测试框架。 它们中的每一个都提供了一个实用程序来运行测试,您可以在其中指定一些选项。 对于 MS 测试,它看起来像这样: mstest /category:Fast 类似的东西应该存在于每个单元测试框架(NUnit、XUnit)中。

    当您使用 Team City 时,您应该仔细检查您的单元测试选项,并找到一个可以提供有关类别的附加选项的地方(通常命名为“命令行选项”、“附加参数”或smth类似)。我不记得确切,但我认为它应该存在于 Team City 内置任务中以运行 unt 测试。

    即使单元测试运行的内置任务缺少此功能,您也可以随时切换到通用脚本执行任务并在其中运行类似 mstest /category:Fast 的内容。

    【讨论】:

      【解决方案2】:

      当您使用内置的 NUnit 构建步骤时,您可以指定应该测试和不测试的类别。

      见http://confluence.jetbrains.com/display/TCD8/NUnit

      【讨论】:

        【解决方案3】:

        FWIW 为 MSTest 运行程序排除多个测试类别:在 "/category:!ServiceDependent" 中的附加命令行参数中排除 ServiceDependent 测试,或在 "/category:!ServiceDependent&!EntryPoint" 中排除 ServiceDependent 和 EntryPoint 测试。当然,您需要相应地装饰测试。至于你为什么想要?那是另一个故事了……

        【讨论】:

          【解决方案4】:

          我花了很长时间弄清楚应该如何在 VS 测试 步骤中使用它: Team City Example

          VS Tests 的语法:

          排除示例: /TestCaseFilter:TestCategory!=Integration

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多