[CocoaPods]使用CocoaPods进行测试
测试规格
从CocoaPods 1.3.0开始,pod现在可以提供测试规范(或简称测试规范)。测试规范可用于描述给定pod的测试源。
这是一个示例CoconutLib.podspec
,一个定义测试规范的虚构库:
1 Pod::Spec.new do |s| 2 s.name = 'CoconutLib' 3 s.version = '1.0' 4 s.authors = 'Coconut Corp', { 'Monkey Boy' => 'monkey@coconut-corp.local' } 5 s.homepage = 'http://coconut-corp.local/coconut-lib.html' 6 s.summary = 'Coconuts For the Win.' 7 s.description = 'All the Coconuts' 8 s.source = { :git => 'http://coconut-corp.local/coconut-lib.git', :tag => 'v1.0' } 9 s.license = { 10 :type => 'MIT', 11 :file => 'LICENSE', 12 :text => 'Permission is hereby granted ...' 13 } 14 s.source_files = 'Classes/*.{h,m}' 15 16 s.test_spec 'Tests' do |test_spec| 17 test_spec.source_files = 'Tests/*.{h,m}' 18 test_spec.dependency 'OCMock' # This dependency will only be linked with your tests. 19 end 20 end
测试规范在消耗它们时就像子规则一样,但它们在生成中的配置方式不同Pods.xcodeproj
。测试规范源和依赖项不会包含在CoconutLib
源中。如果您想要使用不同的测试源和依赖项描述pod的不同部分,则可以选择在podspec中具有多个测试规范。
在你的Podfile
,你可以把测试规范这样:
1 target 'MyApp' do 2 use_frameworks! 3 pod 'CoconutLib', '~> 1.0', :testspecs => ['Tests'] 4 end
当你pod install
这将自动Pods.xcodeproj
在CoconutLib
pod中创建一个测试目标。您可以选择该方案并构建并运行测试!
Linting
pod lib lint
而pod spec lint
现在有建立并自动运行测试,当你掉毛的podspec支持。例如,linting CoconutLib.podspec
会自动设置并运行由给定测试规范提供的测试。如果您想跳过此步骤,可以使用该--skip-tests
标志。
pod lib lint CoconutLib.podspec --skip-tests
应用主机
使用CocoaPods 1.4.0,对测试规范添加了对应用程序主机的支持。如果您的测试需要应用程序主机才能正确执行,那么您可以在podspec中指定:
1 s.test_spec 'Tests' do |test_spec| 2 test_spec.requires_app_host = true 3 test_spec.source_files = 'Tests/*.{h,m}' 4 end
请注意,CocoaPods只会生成一个可供多个测试规范使用的应用程序主机。
转载于:https://www.cnblogs.com/strengthen/p/10639009.html
[CocoaPods]使用CocoaPods进行测试相关推荐
- Cocoapods警告 - CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集
本文翻译自:Cocoapods Warning - CocoaPods did not set the base configuration of your project because becau ...
- [cocoapods]安装cocoapods
如果你的电脑已经安装过cocoapods了,但是不知道怎么用,请直接跳转到第8步 在安装之前,我们先来了解什么是cocoapods 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONK ...
- CocoaPods 【CocoaPods 全攻略】
一.什么是 CocoaPods iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三 ...
- 【CocoaPods】CocoaPods:Objective-C依赖库管理(XCode 4.6)
github:https://github.com/CocoaPods/CocoaPods 官方网站:http://www.cocoapods.org/ 1.安装 RubyGems RubyGems ...
- cocoapods安装(cocoapods安装和使用)
ios 怎么查看是否安装cocoapods 这里只是简单写一下过程吧. 第一步:安装cocoapods sudo gem install cocoapods 要是不成功,执行以下操作 gem sour ...
- 【iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决(2016 12 15 更新)...
〇.前言 在iOS开发中 [CocoaPods](https://github.com/CocoaPods/CocoaPods) 作为库依赖管理工具就是一把利器. 有了 CocoaPods 则无需再通 ...
- iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)
前言: iOS工程架构少不了cocoapods 对第三方库的管理,它有着很好的操作性和集中管理的特性.之前的写了不少Xcode 建静态库工程打包.a 和 .framework 的文章,但是我们要先建静 ...
- 2016最新CocoaPods安装与使用
2019独角兽企业重金招聘Python工程师标准>>> 2016最新CocoaPods安装与使用 2016最新CocoaPods安装与使用,问题解决 1.mac系统已经默认安装好Ru ...
- CocoaPods 的安装与卸载
2021.10.28 更新,Cocoapods 的卸载 前言 最近换了个新电脑,需要重新配置一遍开发环境,于是借此机会记录一下 CocoaPods 的安装过程,方便以后再次重装的时候,可以按照这次的安 ...
最新文章
- Rocksdb 写入数据后 GetApproximateSizes 获取的大小竟然为0?
- 【转载from冰河】来杭十周年
- 机器学习中的梯度下降法
- 为什么python用不了中文_【TK例子】为什么不显示中文
- svn教程----TortoiseSVN常用操作
- java抽象工厂模式_Java 抽象工厂模式
- QML基础类型之size
- WebConfig Authorization 节点
- 2016-6-16 拓展练习
- ctfshow-萌新-web5( 利用位运算符控制SQL获取网站敏感信息)
- optimizer_mode优化器模式
- Competitive Programming专题题解(1)
- 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
- linux ftp命令参数全集
- SWAT入门小问题的解决
- mysql like 百分号_mysql语句中使用like后面的%(百分号)的问题
- 既然阻塞 I/O 会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
- mesh 协调器 路由器_为什么WiFi6和MESH是绝配
- GCC编译静态库的-fPIC选项
- 一个定制CFileDialog对话框的实例