2

我在使用Swift软件包管理器时已经看到仅提供依赖测试的提示,但尚未能使它们正常工作。例如:使用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使用的依赖关系(例如,对于一个特定的目标),但在部署的数据包不适用。

赞赏工作示例的指针。

回答

5

目前Swift包管理器中禁用了“仅测试依赖性”功能。它最初实施,但被删除in this commit

从提交的描述:

从PackageDescription 删除testDependencies此功能是应该支持的依赖关系只为根 包,但在某些时候它停止工作,但是API仍然 保持开放。此修补程序将删除公共API。这是一个有效和 理想的功能,它应该回来后,经过 适当审查迅速发展。

+0

快乐的脸和悲伤的脸;)。感谢Vadim。你是发展的一部分吗?任何想法当这回来? –

+0

@ChrisPrince不,我不是,我不知道什么时候回来。我自己想知道这个功能发生了什么。 –

1

@ Vadim的回答是正确的,目前还没有官方API用于测试依赖关系,但有一些解决方法。例如ReactiveSwift使用alternate Package.swift进行测试,它们在CI上执行测试时覆盖原始测试(请参阅其travis config file)。它并不高雅,但它的功能直到SPM带回这个非常需要的功能。