框架选择方案
方案 iOSSnapshotTestCase + Specta + Expecta
1. iOSSnapshotTestCase 以像素为单元做截图对比
2. Specta 一个 OC 的 TDD/BDD 测试框架 ,让测试代码更易读
3. Expecta 验证框架,还有 Expecta+Snapshots 支持截图对比.
为了我更好的观察截图对比结果, 需要给 Xcode 安装一个收集截图对比结果的插件 Snapshots 可以通过 Alcatraz 安装
备忘
- 苹果出了Xcode8之后,就加了签名让之前的自定义插件无法继续的安装使用. 需要给 Xcode 重新签名, 最好留两个. 一个是直接安装的 用于打包. 另外一个重新签过名的用于使用插件开发.
- 这种方法依然不是很稳定. 不要装太多插件.
- Podfile 文件中 UnitTestTarget 可以与 主工程的 Target 并列.
- 在生成的 Pods-XXXXXUnitTest.debug.xcconfig 中
- OTHER_CFLAGS 后面要链接 你将要测试的库,自己的主工程.
- OTHER_LDFLAGS 后面要链接 测试辅助框架,
- 如果编译出错,比如符号冲突,重定义可以整理OTHER_LDFLAGS到最简.
<Podfile.h>
target 'XXXXX' do
pod 'WhatYouNeed'
end
target 'XXXXXUnitTest' do
pod 'Specta'
pod 'Expecta+Snapshots'
pod 'OCMock'
end
<Pods-XXXXXUnitTest.debug.xcconfig>
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem
OTHER_LDFLAGS = $(inherited) -ObjC -l"Specta" -l"Expecta" -l"Expecta+Snapshots" -l"FBSnapshotTestCase" -l"OCMock"