框架选择
参考这篇选型文章,
http://zixun.github.io/blog/2015/04/11/iosdan-yuan-ce-shi-xi-lie-dan-yuan-ce-shi-kuang-jia-xuan-xing/,虽然结论不一定完全适用,但是关于框架对比的地方还是值得阅读的,基于这篇文章,排除Kiwi框架之后,决定参考一些项目的源代码,了解他们使用的测试方面的框架。
首先,参考
https://github.com/artsy/eigen开源项目,其内部整体结构非常完整,开发流程也非常专业,至少比我知道的大多数国内团队都要专业:
eigen: Specta + OCMock + Expecta + OHHTTPStubs + FBSnapshotTestCase + "Expecta+Snapshots" + "XCTest+OHHTTPStubSuiteCleanUp”。
其次,参考公司内部别的项目使用情况,发现使用以下框架来做测试方面的事情: Specta + Expecta + OCMock + OHTTPStubs + KIF(UI Test)
so,我决定选择 Specta (BDD框架) + Expecta(断言框架) + OCMock(mock框架) + OHHTTPStubs(http stub框架) + KIF(UI Test) 做测试框架来学习。
XCTest简介
由于我决定不直接使用XCTest作为测试框架,但是又由于Specta是基于XCTest进行封装的,所以对XCTest做一个基础的了解还是有必要的。
参考:
1.
https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode
3.
http://zixun.github.io/blog/2015/04/16/iosdan-yuan-ce-shi-xi-lie-dan-yuan-ce-shi-bian-ma-gui-fan/
BDD框架 — Specta
1. 简介
目前主流的BDD框架,这些BDD框架在语法层面几乎是相同的,主要的区别在于他们的可配置能力和绑定的组件。下面三个OC BDD框架相对于官方框架XCTest都具有更好的可读性,另外现在已经有了比较流行的swift BDD框架:
https://github.com/railsware/Sleipnir 和
https://github.com/Quick/Quick。