我正在Xcode 11上的iOS应用程序上使用Swift Package Manager,并遵循https://developer.apple.com/videos/play/wwdc2019/408/中的说明
一切看起来都很好,除了单元测试现在不起作用。
第一次
我正在Xcode 11上的iOS应用程序上使用Swift Package Manager,并遵循https://developer.apple.com/videos/play/wwdc2019/408/中的说明
一切看起来都很好,除了单元测试现在不起作用。
第一次
3条答案
按热度按时间dldeef671#
这似乎是因为SPM依赖项可能不会自动链接到测试目标。
我们可以通过以下方式手动链接:
1.点按Xcode项目文件(例如
Headlines
)1.从侧边栏中选择测试目标(例如
HeadlinesTests
)1.导航到顶栏中的
Build Phases
。1.在
Link Binary With Libraries
阶段,从SPM依赖项中添加所需的库(这看起来像SPM包中的一个白色建筑📦)。1.您可能还需要将库添加到
Dependencies
阶段。7rtdyuoh2#
经过一点研究,我通过在测试目标中将
-Xcc -fmodule-map-file=$(PROJECT_TEMP_ROOT)/GeneratedModuleMaps/macosx/<missing module name>.modulemap
添加到OTHER_SWIFT_FLAGS
来修复这个问题。资料来源:
PS:如果你的平台是iOS,请使用
-Xcc -fmodule-map-file=$(PROJECT_TEMP_ROOT)/GeneratedModuleMaps/iphonesimulator/<module name>.modulemap
。更新:此外,这似乎是固定的Xcode 11.2 beta2
kyxcudwk3#
我在创建了一个多平台应用程序并选中了创建测试的复选框后,在Xcode 13中看到了这个问题。问题似乎是Xcode创建了UI测试,而不是我所期望的单元测试。我刚刚创建了一个新的单元测试目标,在将我的应用程序导入测试文件时,一切都按预期运行。