Swift 为什么赢了';当测试目标被排除在CocoaPods管理之外时,是否构建t单元测试?
我希望对cocoapod和单元测试目标之间的相互作用有一个清晰的理解 让我们假设一个简单的Swift 为什么赢了';当测试目标被排除在CocoaPods管理之外时,是否构建t单元测试?,swift,xcode,cocoapods,Swift,Xcode,Cocoapods,我希望对cocoapod和单元测试目标之间的相互作用有一个清晰的理解 让我们假设一个简单的Podfile platform :ios, '13.0' target 'CocoaPodsTest' do use_frameworks! pod 'FBSDKCoreKit', '~>7.0' pod 'Firebase/Analytics', '~>6.8' target 'CocoaPodsTestTests' do inherit! :search_pa
Podfile
platform :ios, '13.0'
target 'CocoaPodsTest' do
use_frameworks!
pod 'FBSDKCoreKit', '~>7.0'
pod 'Firebase/Analytics', '~>6.8'
target 'CocoaPodsTestTests' do
inherit! :search_paths
# Pods for testing
end
end
我的单元测试目标--CocoaPodsTestTests
--不使用任何测试框架。它只有普通的ol'xtest
断言,用于从应用程序目标执行源代码。我知道它继承了应用程序目标的依赖项,但我不会导入这些模块。在我的单元测试源文件中,我只有@testable import CocoaPodsTest
才能访问不同类型的内部
API
当我从pod文件
中删除单元测试目标,然后执行pod安装
时,CocoaPods停止管理此目标。具体来说,测试目标与CocoaPods框架没有链接-Pods\u CoCoCoapodsTests.framework
。还有一些其他的变化,这些变化完全是意料之中的
不可预料的是,现在将不会生成cococoapodstesttests
target。它失败了,错误为:错误输入所需模块“Firebase”,并指向我已将应用程序模块导入的行
为什么我的单元测试目标有第三方依赖关系?
我以为
。。。CocoaPods从第三方资源创建了一个框架
。。。该应用嵌入并链接CocoaPods框架
。。。最后,单元测试目标被动态注入正在运行的应用程序中,因此解决了测试目标对应用程序模块的依赖性
但是,我的知识显然有一个漏洞