iOS XCtest 访问 App View Controllers/UI

iOS XCtest accessing App View Controllers/UI

我是 iOS 开发的新手。我想为使用 SDK 的应用程序编写单元测试,其中身份验证方法的形式为:

(void)authenticate:(UIViewController *)presentingViewController clearCookies:(BOOL)clearCookies completionBlock:(AuthCompletionBlock)completionBlock.

要对用户进行身份验证,需要在 UIViewController(在方法参数中传递) 中打开嵌入式 Web 浏览器。单元测试可以访问应用程序 UI 吗? 我如何确保浏览器打开,用户通过应用程序进行身份验证 UI,然后执行单元测试。

取决于您想要单元测试还是 UI 测试。

  • 单元测试:快速。持续的。他们一步步确认。但他们不会端到端。
  • UI 测试:慢。脆弱的。他们端到端确认。

对于单元测试,您不会编写实际启动浏览器或以任何方式与其交互的测试。相反,您将编写 启动浏览器的测试,以及模拟从浏览器 返回 的不同输入的测试。

只要您对来回沟通有信心,这就有效。如果是这样,就没有必要测试 Apple 的代码了。如果没有,那么您可以write a spike solution了解交流。