1

通常在 iOS 单元测试中,我们创建新对象,调用我们想要测试的方法,然后验证结果。这是一个独立的过程。测试用例总是从应用程序实例开始运行,但我们不直接访问该实例。

但是,使用 KIF 或 EarlGrey 之类的框架,我们可以通过在运行的应用程序实例中访问带有可访问性标签的 UI 元素来编写功能测试。我想知道它是如何实现的。当测试开始时,我们没有上下文或根视图控制器对象之类的东西,框架如何从“无处”找到呈现视图控制器?

4

1 回答 1

1

因为它们基于 XCTest 的单元测试范式。在其中,测试和应用程序都在同一个包中,因此可以访问应用程序内部。

使用[UIApplication sharedApplication],您实际上可以获得应用程序的 UIWindow 并找到整个 View Hierarchy。

于 2017-11-16T18:31:51.053 回答