OGeek|极客世界-中国程序员成长平台

标题: ios - 这样的集成测试可能吗? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:54
标题: ios - 这样的集成测试可能吗?

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

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

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

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



Best Answer-推荐答案


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

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

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

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

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

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

干杯

关于ios - 这样的集成测试可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46570390/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4