使用Swift Package Manager时,“模块未编译用于测试”错误

时间:2017-02-18 14:25:05

标签: swift xcode swift-package-manager

我使用swift package init --type library创建了一个Swift库,并使用swift package generate-xcodeproj生成了一个Xcode项目。

现在我正在尝试在Xcode中运行Test方案。它打印以下错误:

Module '<title>' was not compiled for testing

但是,当我在终端中运行swift buildswift test时,它可以正常工作。

我在所有目标中都ENABLE_TESTABILITY设置为YES。除了这个,我没有更改项目中的任何内容。如何让Xcode执行单元测试?

3 个答案:

答案 0 :(得分:0)

我今天遇到这个问题,看来@testable不能与Swift Package Manager生成的项目一起使用。

从我的导入语句中删除@testable解决了此问题。当然,这意味着我们只能测试模块的公共接口。

答案 1 :(得分:0)

您需要在“主要目标”的构建设置中将“启用可测试性”设置为“是”。

enter image description here

答案 2 :(得分:0)

  1. Xcode -> Product -> Scheme -> Edit Scheme

  2. 选择信息标签。

  3. 设置如下—— 构建配置:调试 为调试可执行文件添加复选标记

使用 Xcode 12.4(12D4e) 和 iOS 14.1 部署目标进行测试。