Swift 为什么赢了';当测试目标被排除在CocoaPods管理之外时,是否构建t单元测试?

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

我希望对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_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框架

。。。最后,单元测试目标被动态注入正在运行的应用程序中,因此解决了测试目标对应用程序模块的依赖性

但是,我的知识显然有一个漏洞