【问题标题】:Choosing iOS testing frameworks选择 iOS 测试框架
【发布时间】:2014-05-19 17:41:50
【问题描述】:

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

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

对于单元测试,我们正在考虑:

  • GHUnit
  • XCTest
  • 猕猴桃

对于工作流测试,我们正在考虑:

  • 西葫芦
  • 葫芦

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

感谢您的任何反馈。

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

【问题讨论】:

  • 这篇其他帖子有帮助,但绝对是移动世界中的老帖子。它甚至没有提到 Calabash 用于测试应用程序工作流。最重要的是,每个项目都有特定的要求,并不是所有的框架都受欢迎。因此,我们正在寻找有关我们要求的建议。
  • 有关最近关于 UI 测试状态和所有工具的讨论,请在 youtube 上查看MCE 2014: Drew Crawford - UI testing sucks 上的此演讲。

标签: ios unit-testing jenkins ui-automation xctest


【解决方案1】:

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

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

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

我强烈建议您查看iOS Tests/Specs TDD/BDD and Integration & Acceptance Testing,以更全面地讨论测试库。

【讨论】:

    猜你喜欢
    • 2011-01-14
    • 2014-02-07
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 2017-10-14
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多