【问题标题】:Swift test --filter seems to exclude everything when actually running testsSwift test --filter 在实际运行测试时似乎排除了所有内容
【发布时间】:2018-02-11 22:58:56
【问题描述】:

我有一个用 SwiftPM 编译的 swift 库,我在我的 Package.swift 中声明了两个 testTargets。我希望能够在我的 CI 中独立运行这两个测试目标,所以我一直在尝试运行类似的东西: swift test --filter='unitTests' swift test --filter='integrationTests'

当我在没有--filter 的情况下运行时,我看到运行了 4 个单元测试,其中 1 个失败;和 1 次集成测试,1 次失败。但是,这些 --filter 命令导致 1 个通过单元测试,0 个集成测试正在运行。

但是当我将--list 添加到这些命令时,所有适当的测试都会出现在列表中。我找不到任何理由在使用 --filter 时排除这些测试。

我在这里错过了--filter 的行为吗?

【问题讨论】:

    标签: swift swift-package-manager quick-nimble


    【解决方案1】:

    --filter 选项适用于测试名称(而不是测试类型)。 SwiftPM 对具有给定输入的测试名称使用正则表达式并运行匹配的测试。

    【讨论】:

    • 这正是我所期望的,特别是 unitTests 和 integrationTests 是我的测试目标的名称,因此它们作为我的测试名称的前缀出现,就像它们出现在 --list 中一样,喜欢unitTests.firstBehaviorSpec; integrationTests.complexBehaviorSpec。所以这种行为仍然让我感到惊讶。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2014-11-11
    • 1970-01-01
    • 2021-06-19
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多