🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 1. 测试规范 截至 CocoaPods 1.3.0 pod 现在可以提供测试规范(或简称测试规范)。 测试规范可用于描述给定 pod 的测试来源。 下面是一个CoconutLib.podspec示例,它是一个定义测试规范的虚构库: ~~~ Pod::Spec.new do |s| s.name = 'CoconutLib' s.version = '1.0' s.authors = 'Coconut Corp', { 'Monkey Boy' => 'monkey@coconut-corp.local' } s.homepage = 'http://coconut-corp.local/coconut-lib.html' s.summary = 'Coconuts For the Win.' s.description = 'All the Coconuts' s.source = { :git => 'http://coconut-corp.local/coconut-lib.git', :tag => 'v1.0' } s.license = { :type => 'MIT', :file => 'LICENSE', :text => 'Permission is hereby granted ...' } s.source_files = 'Classes/*.{h,m}' s.test_spec 'Tests' do |test_spec| test_spec.source_files = 'Tests/*.{h,m}' test_spec.dependency 'OCMock' # This dependency will only be linked with your tests. end end ~~~ 测试规格就像使用子规格一样处理,但它们在生成的Pods.xcodeproj中的配置方式不同。 CoconutLib 源文件中不包含测试规范的源代码和依赖项。 如果您想用不同的测试资源和依赖关系来描述您的 pod 的不同部分,您可以选择在 podspec 中使用多个测试规范。 在你的 Podfile 中,你可以带上这样的测试规范: ~~~ target 'MyApp' do use_frameworks! pod 'CoconutLib', '~> 1.0', :testspecs => ['Tests'] end ~~~ 当你 `pod install` 时,它会自动为 CoconutLib pod 的 Pods.xcodeproj 创建一个测试目标。 您可以选择选择该方案并构建并运行测试! # 2. Linting 目前,`pint lib lint` 和 `pod spec lint` 现在可以支持您在制作 podspec 时自动构建和运行测试。 例如,将 CoconutLib.podspec 进行 linting 会自动设置并运行给定测试规范提供的测试。 如果你想跳过这一步,你可以使用 `--skip-tests` 标志。 ~~~ pod lib lint CoconutLib.podspec --skip-tests ~~~ # 3. 支持的测试类型 截至目前,支持的测试类型仅适用于不需要执行应用程序主机的单元测试包。 将来会增加对应用主机测试规格的支持。