3

在使用 Swift 包管理器时,我已经看到提到仅测试依赖项,但无法让它们工作。例如:

https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160104/005409.html https://github.com/apple/swift-package-manager/pull/74 http:// blog.krzyzanowskim.com/2016/08/09/package-swift-manual/#testDependencies

我想要的是在我的 XCtests 中使用依赖项(例如,用于特定目标),但不应用于已部署的包中。

指向工作示例的指针将不胜感激。

4

2 回答 2

6

目前,Swift 包管理器中禁用了“仅测试依赖项”功能。它最初是实施的,但在此提交中被删除。

从提交的描述:

从 PackageDescription 中删除 testDependencies 这个特性应该只支持根包的依赖关系,但在某些时候它停止工作,但 API 仍然保持打开状态。此补丁删除了公共 API。这是一个有效且理想的功能,应该在经过对快速演变的适当审查后回来。

于 2016-12-31T09:21:24.537 回答
3

@Vadim 的回答是正确的,目前没有用于测试依赖项的官方 API,但有解决方法。例如,ReactiveSwift 使用替代的 Package.swift进行测试,当在 CI 上执行测试时,它们会覆盖原来的测试(参见他们的travis 配置文件)。它并不优雅但很好,它可以完成这项工作,直到 SPM 带回这个非常需要的功能。

于 2017-01-07T15:24:28.853 回答