测试规格

从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.xcodeprojCoconutLibpod中创建一个测试目标。您可以选择该方案并构建并运行测试!

Linting

pod lib lintpod 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进行测试相关推荐

  1. Cocoapods警告 - CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集

    本文翻译自:Cocoapods Warning - CocoaPods did not set the base configuration of your project because becau ...

  2. [cocoapods]安装cocoapods

    如果你的电脑已经安装过cocoapods了,但是不知道怎么用,请直接跳转到第8步 在安装之前,我们先来了解什么是cocoapods 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONK ...

  3. CocoaPods 【CocoaPods 全攻略】

    一.什么是 CocoaPods iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三 ...

  4. 【CocoaPods】CocoaPods:Objective-C依赖库管理(XCode 4.6)

    github:https://github.com/CocoaPods/CocoaPods 官方网站:http://www.cocoapods.org/ 1.安装 RubyGems RubyGems ...

  5. cocoapods安装(cocoapods安装和使用)

    ios 怎么查看是否安装cocoapods 这里只是简单写一下过程吧. 第一步:安装cocoapods sudo gem install cocoapods 要是不成功,执行以下操作 gem sour ...

  6. 【iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决(2016 12 15 更新)...

    〇.前言 在iOS开发中 [CocoaPods](https://github.com/CocoaPods/CocoaPods) 作为库依赖管理工具就是一把利器. 有了 CocoaPods 则无需再通 ...

  7. iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)

    前言: iOS工程架构少不了cocoapods 对第三方库的管理,它有着很好的操作性和集中管理的特性.之前的写了不少Xcode 建静态库工程打包.a 和 .framework 的文章,但是我们要先建静 ...

  8. ​​​​​​​2016最新CocoaPods安装与使用

    2019独角兽企业重金招聘Python工程师标准>>> 2016最新CocoaPods安装与使用 2016最新CocoaPods安装与使用,问题解决 1.mac系统已经默认安装好Ru ...

  9. CocoaPods 的安装与卸载

    2021.10.28 更新,Cocoapods 的卸载 前言 最近换了个新电脑,需要重新配置一遍开发环境,于是借此机会记录一下 CocoaPods 的安装过程,方便以后再次重装的时候,可以按照这次的安 ...

最新文章

  1. Rocksdb 写入数据后 GetApproximateSizes 获取的大小竟然为0?
  2. 【转载from冰河】来杭十周年
  3. 机器学习中的梯度下降法
  4. 为什么python用不了中文_【TK例子】为什么不显示中文
  5. svn教程----TortoiseSVN常用操作
  6. java抽象工厂模式_Java 抽象工厂模式
  7. QML基础类型之size
  8. WebConfig Authorization 节点
  9. 2016-6-16 拓展练习
  10. ctfshow-萌新-web5( 利用位运算符控制SQL获取网站敏感信息)
  11. optimizer_mode优化器模式
  12. Competitive Programming专题题解(1)
  13. 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
  14. linux ftp命令参数全集
  15. SWAT入门小问题的解决
  16. mysql like 百分号_mysql语句中使用like后面的%(百分号)的问题
  17. 既然阻塞 I/O 会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
  18. mesh 协调器 路由器_为什么WiFi6和MESH是绝配
  19. GCC编译静态库的-fPIC选项
  20. 一个定制CFileDialog对话框的实例

热门文章

  1. matplotlib--------简单的折线图之x轴y轴刻度
  2. 进制的转换,二进制转十进制,十进制转二进制
  3. UVA 1388 Graveyard 的分析
  4. DIY调频(FM) MP3电台-基于增强管道数据流转(EPDR)的taskBus实时水位控制技术
  5. 用pandas 制作excel透视表
  6. 2021旅游形式预测丨如何打造本地及周边休闲旅游服务平台
  7. HTML5-video标签-实现点击预览图播放或暂停视频
  8. CSS与JavaScript技巧
  9. 护肤品微商如何在小红书引流?护肤品产品如何提升销量呢?
  10. 【泛微OA】JS限制明细行重复