zoukankan      html  css  js  c++  java
  • [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.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只会生成一个可供多个测试规范使用的应用程序主机。

  • 相关阅读:
    Android Volley入门到精通:定制自己的Request
    Android高效加载大图、多图解决方案,有效避免程序OOM
    Android Volley入门到精通:使用Volley加载网络图片
    Android Volley入门到精通:初识Volley的基本用法
    彻底理解ThreadLocal
    Android中Parcelable接口用法
    Handler详解系列(四)——利用Handler在主线程与子线程之间互发消息,handler详解
    Storm流处理项目案例
    021 使用join()将数组转变为字符串
    020 $.each的使用
  • 原文地址:https://www.cnblogs.com/strengthen/p/10639009.html
Copyright © 2011-2022 走看看