集成测试是否可能?

时间:2017-10-04 17:03:28

标签: ios xcode integration uitest

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

例如,如果我运行单元测试,那么在内存中启动的完整应用程序是我不会使用的,因为我在我的测试用例类中实例化了测试所需的类。 (我只知道它在那里,因为我在模拟器窗口中看到它,因为我的测试类有时会使用通知中心意外地与它通信。)

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

问题是:在XCTest上下文中是否有一个很好的(记录)方法来启动带有模拟的应用程序,并找到单元测试和UI测试之间的中间点?

1 个答案:

答案 0 :(得分:0)

有趣的是,前几天我们也遇到了这种问题。我不确定这些信息是否可以帮到你。

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

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

第三方方式:知名人士(OCMock,Mockito)

在目标c的情况下,有很多'第三方在那里但是由于swift对其运行时库的支持,swift中有一些仍在开发中(swift尚未完全公开其运行时库)

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

干杯