选择iOS测试框架

Tok*_*oka 8 unit-testing ui-automation ios jenkins xctest

我们想在我们的iOS应用程序中集成测试套件.总而言之,这个应用程序正在使用Web服务,在设备上保存文件并具有一些复杂的导航部件.要求: - 使用Jenkins运行测试套件 - 能够在一组设备和iOS版本上启动测试套件 - 我们并不明确需要非开发人员可读的东西,如Calabash建议

我们正在考虑进行一些工作流测试(从一个屏幕到另一个屏幕的交互)和单元测试.我们google了一下,但文章通常至少2年,这就像移动世界的旧石器时代.但是,它仍然提供了一些不错的第一输入.

对于单元测试,我们考虑的是:

  • GHUnit
  • XCTest
  • 猕猴桃

对于工作流测试,我们考虑的是:

  • 夏南瓜

关于所有提到的要求,是否有人看到任何建议选择一个框架或另一个(或另一个命题)?

感谢您的任何反馈.

ps:顺便说一下,我们在这个主题上发现的一些有趣的文章可以提供帮助:http : //blog.lesspainful.com/2012/03/07/Calabash-iOS/ http://iosunittesting.com/faq/

tbo*_*e12 2

我推荐 Kiwi 进行单元测试有几个原因:

  • 它支持嵌套上下文,每个上下文都有自己的设置和拆卸块。这可以让你的测试更加 DRY。XCTest 只有一种设置和拆卸方法,用于文件中的所有测试。使用 Kiwi 的嵌套上下文,您可以根据您定义上下文的方式,在部分测试(但不是全部测试)之前执行设置代码。
  • Kiwi 在需要时对模拟/存根依赖关系提供了很好的支持。我发现它比 OCMock 更健壮(如果您忘记调用 -stopMocking,则测试后 OCMock 的模拟类方法会滞留,而 Kiwi 总是确保在每次测试后拆除模拟类方法)。

我在工作流程/应用程序测试方面没有经验,但我计划最终查看 KIF 和 UIAutomation。

我强烈建议您查看iOS 测试/规范 TDD/BDD 以及集成和验收测试,以更全面地讨论测试库。