我正在和单元测试目标中的SPM模块做斗争。简单地添加@testable import MyApp
,然后运行UT,最终会出现一个错误,说未找到SPM模块。
更明确地说,这些是错误行:
/MyApp-cxdzdpxkuamerffyiosojkxpvujl/Build/Intermediates.noindex/MyApp.build/Debug-iphoneos/MyAppTests.build/Objects-normal/arm64/MyAppTests.swiftdoc:没有这样的文件或目录
/MyApp-cxdzdpxkuamerffyiosojkxpvujl/Build/Intermediates.noindex/MyApp.build/Debug-iphoneos/MyAppTests.build/Objects-normal/arm64/MyAppTests.abi.json:没有这样的文件或目录
/MyApp-cxdzdpxkuamerffyiosojkxpvujl/Build/Intermediates.noindex/MyApp.build/Debug-iphoneos/MyAppTests.build/Objects-normal/arm64/MyAppTests.swiftmodule:没有这样的文件或目录
/MyApp-cxdzdpxkuamerffyiosojkxpvujl/Build/Intermediates.noindex/MyApp.build/Debug-iphoneos/MyAppTests.build/Objects-normal/arm64/MyAppTests.swiftsourceinfo:没有这样的文件或目录
我检查过文件夹,那些文件确实不在那里。
我尝试了什么和更多细节:
1.我添加到项目中的唯一包是Firebase(9.6.0),正如我提到的,它是通过SPM添加的
1.在这个项目中没有使用Cocoapods或Carthage,所以我只使用xcodeproj
文件。
1.对于两个目标(main和test)中的Debug配置,Enable testability都设置为true
1.该方案被设置为使用Debug conf启动测试
1.当我在主机应用程序中运行测试时,是否会得到相同的结果
1.我也尝试过移除测试目标并再次添加它,但没有任何改变
- Xcode 14.1和M1机器
1条答案
按热度按时间dhxwm5r41#
我能够在我的单元测试目标上解决这个问题
TEST_HOST
在实际项目中,执行以下操作:
$(TEST_HOST)
$(BUILT_PRODUCTS_DIR)/MyApp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MyApp
,将MyApp
替换为相应的.app名称