ios - 如何使用 CocoaPods 分发测试替身?
问题描述
我正在创建一个定义 Swift 协议的 pod,以及该协议的几个实现。
在使用我的 pod 时,我还想分发一个测试替身(即模拟、存根、间谍等)协议的实现,供项目在他们的测试中使用。
我可以将我的 pod 配置为仅在使用我的 pod 的项目的测试目标中包含我的测试双源文件吗?
解决方案
您可以使用子规范并default_subspec
为您的客户进行设置。
Pod::Spec.new do |spec|
spec.name = "MyPod"
spec.default_subspec = 'Library'
spec.subspec "Library" do |subspec|
subspec.source_files = "src/*.swift"
// ... other cocoapods configuration commands
end
spec.subspec "TestDoubles" do |subspec|
subspec.source_files = "testdoubles/*.swift"
// ... other cocoapods configuration commands
end
end
要在客户的 Podfile 中导入库,他们仍然可以使用以下语法:
pod 'MyPod'
要导入测试替身,他们可以使用以下语法:
pod 'MyPod/TestDoubles'
推荐阅读
- python - Python 3.7 中数字类型和 sympy 的正确类型提示
- python - 如果我更改列的名称,MySQL 将不会创建表
- ios - 将一个发布者合并为另一个发布者
- qt - QML QuickControls2 自定义颜色主题
- java - 将我的 HUD 视口中的位置转换为我的游戏区域视口时,为什么我的 Android 应用上的 Y 值不正确?
- reactjs - React - 将状态传递给以危险的 setHTML 呈现的模板
- c# - 是什么导致 PIA API 在 Release 和 Debug 版本之间存在差异?
- pandas - 熊猫如何在列下显示透视值
- excel - Excel 宏将数百列转为仅 3
- javascript - 历史返回 - 返回键