【发布时间】:2016-08-25 12:17:45
【问题描述】:
所以,让我先解释一下我的问题。
我不想中继我的网络服务器数据,我想为我的 XCUITests 存根数据。 因此,我将确保它在 100% 的时间内返回正确的数据,并且有时我需要测试一些特定的(例如错误或空状态)情况,这些情况 Web 服务器可能不会在那个时候准确返回。 所以,我尝试过的是在我的 XCUITest 中运行本地 server,然后存根一些请求,但事实证明它没有成功,因为 XC UI 测试在完全独立的包中运行(甚至是独立的进程)和本地服务器无法绑定到 localhost,因此我的主应用程序包无法连接到此服务器。
我尝试过的另一个解决方案是通过 XCUIApplication().launchArguments 传递一些参数,并基于此参数 - 在主应用程序上运行存根,但是 - 这有点问题:“我有本地 -主应用程序中的代理服务器”,我只需要进行 UI 测试。
我知道,我也可以创建 stub-server 并将其公开给网络,也就是说,创建一种开发环境,只是为了 UI 测试,但对我来说似乎是极端的。因为在这种情况下,只为我的项目维护 UI 测试是一项很大的工作。
所以,我的问题是,有没有人有更好的解决方案?有什么办法可以在不修改主应用程序和运行外部网络服务器的情况下解决这个问题?
【问题讨论】:
-
我还写了一篇博文,介绍如何使用少数类和扩展轻松完成此任务。 developer.soundcloud.com/blog/…
标签: ios objective-c swift xcode-ui-testing