【问题标题】:Are integration tests like that possible?这样的集成测试可能吗?
【发布时间】:2018-03-16 04:09:57
【问题描述】:

在 Xcode 中似乎有两种测试,一种是 UI 测试,它使用自动化测试在另一个进程中运行的应用程序,另一种是单元测试,其中单独测试小单元代码。我想知道某处是否有中间立场...

例如,如果我运行单元测试,则会在内存中启动一个我不使用的完整应用程序,因为我正在实例化我需要在我的测试用例类中测试的类。 (我只知道它在那里,因为我在模拟器窗口中看到它,而且我的测试类有时不小心使用通知中心与它通信。)

如果我可以使用这个应用程序进行集成测试,那就太好了。它们类似于 UI 测试,但速度更快,而且我可以访问实现。例如,我可以这样做以安装模拟,这样我就可以模拟远程端点的行为,并从用户的角度查看某些响应的效果。

问题是:是否有一种好的(记录在案的)方法可以在 XCTest 上下文中使用 mock 启动应用程序并找到单元测试和 UI 测试之间的中间地带?

【问题讨论】:

    标签: ios xcode integration uitest


    【解决方案1】:

    有趣的是,前几天我们也遇到了这种问题。我不确定这些信息是否对您有所帮助。

    因此,对您的具体问题的简短回答是,苹果文档(AFAIK)中没有专门说明如何在测试中制作模拟类的书面文档,但这并不一定意味着您不能制作一个。您可以通过多种方式制作模拟场景以使用您的代码

    手动方式:使协议/接口由工作类和模拟类实现,覆盖工作类的特定方法以以某种方式模拟结果,混合等。

    第 3 方方式:知名人士(OCMock、Mockito)

    在目标 c 的情况下,那里有很多 'em 3rd 方,但由于 swift 对其运行时库的支持(swift 尚未完全暴露其运行时库)

    这里有一个有用的链接:https://academy.realm.io/posts/tryswift-veronica-ray-real-world-mocking-swift/(很棒的文章)

    干杯

    【讨论】:

      猜你喜欢
      • 2018-01-21
      • 2016-02-26
      • 2019-10-23
      • 2012-08-07
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      相关资源
      最近更新 更多