使用 Swift 包管理器时出现“模块未编译用于测试”错误

ego*_*dan 7 xcode swift swift-package-manager

我创建了一个 Swift 库,swift package init --type library并使用swift package generate-xcodeproj.

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

Module '<title>' was not compiled for testing
Run Code Online (Sandbox Code Playgroud)

然而,当我运行swift build,并swift test在终端,它工作正常。

我已经在所有目标中ENABLE_TESTABILITY设置YES了。除了这个,我没有改变项目中的任何东西。如何让 Xcode 执行单元测试?

小智 11

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

在此输入图像描述


Ene*_*nso 5

我今天遇到了这个问题,它似乎@testable无法与 Swift Package Manager 生成的项目一起使用。

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