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只会生成一个可供多个测试规范使用的应用程序主机。

  • 相关阅读:
    Tech road one step Dec-5 to Dec-11
    Tech road one step Nov-28 to Dec-4
    Tech road one step 13-Nov to 20-Nov
    Unity 相机花式分屏
    Unity渲染
    Perfect Rectangle(完美矩形)
    Max Points on a Line(直线上最多的点数)
    Unity之CharacterController 碰撞问题总结
    cocos2dx 实现flappybird
    effectiveC++ 内存管理 学习笔记
  • 原文地址:https://www.cnblogs.com/strengthen/p/10639009.html
Copyright © 2011-2022 走看看