Xcode7中令人激动的功能之一就是能够进行原生UI测试(感谢苹果),所以我在开发新的Xcode 7 / Swift 2项目时,我把重点放到了这上面来。在单元测试的过程中,Quick和Nimble 用起来真的很舒服,所以我也想把这些类库用在UI测试中。
使用CocoaPods安装Quick和Nimble很简单,然而问题是,你仅仅只是想把Quick和Nimble安装到测试的target中。
一个恶习但是有效的解决方案
最初的办法是将Quick和Nimble分别放在Podfile的两个target中:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
我不喜欢Quick和Nimble在这里重复两次,每次更新版本的时候,我都要修改两个地方。
错误的方案
后来我google了一下,发现我需要使用link_with,我自认为link_with下方的所有库都将应用到我所指定的target中:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
结果我完全错误理解了link_with以及它的工作原理。最后除了test targets,Quick和Nimble同时也安装到了我app的主target中。
优雅的解决方案
于是我直接联系了大神-CocoaPods的核心开发者@NeoNacho,后来我使用了他提示的优雅方案:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
我忘记了Podfile其实是一个ruby文件!感谢@NeoNacho节省了我一天时间!