通常在iOS单元测试中,我们创建新对象,调用我们想要测试的方法,然后验证结果。这是一个独立的程序。测试用例总是开始运行app实例,但我们不直接访问该实例。
但是,通过像KIF或EarlGrey这样的框架,我们可以通过在正在运行的应用实例中访问带有可访问性标签的UI元素来编写功能测试。我想知道它是如何实现的。当测试开始时,我们没有类似上下文或根视图控制器对象的东西,框架如何找到来自"无处的"?
答案 0 :(得分:1)
因为它们基于XCTest的单元测试范例。在其中,测试和应用程序都在同一个包中,因此可以访问app内部。
使用[UIApplication sharedApplication]
,您实际上可以获取应用的UIWindow并找到整个视图层次结构。