gpt4 book ai didi

ios - 使用 KIF 设置应用程序环境

转载 作者:行者123 更新时间:2023-12-01 16:30:33 25 4
gpt4 key购买 nike

我正在使用 KIF做 UI 测试。我要做的第一件事是清理模拟器中可能存在的所有缓存数据。所以我在 -beforeAll 中编写了清理代码我的方法KIFTestCase .但是这个方法是在我的应用程序委托(delegate) -application:didFinishLaunchingWithOptions: 之后调用的方法被调用。此时为时已晚,我的应用程序已经在运行并且已经使用了缓存的数据。

我可以修改我的应用程序代码,例如 if (NSClassFromString(@"KIFTestCase") { … })但这对我来说似乎是一个糟糕的解决方案。

在执行我的应用程序代码之前,是否有一种干净的方法来执行一些设置代码?

请注意,我不能使用 Xcode 的新内置 UI 测试功能,因为我想在 iOS 8 上运行测试。

最佳答案

我可能会选择建议的解决方案之一(我们亲自检查 NSClassFromString("XCTest") != nil )

但是,如果这两种解决方案都不适合您,并且您不介意一些运行时魔法,您可以:

  • 创建AppDelegate 的动态子类包含所有测试逻辑的类,并使用 object_setClass(appDelegate, [TestAppDelegate class])更改实例类(您需要引用您的应用委托(delegate)的实例)。
  • 或者简单地调换 +[TestHelper load] 中问题中的方法因此它会在应用委托(delegate)触发之前发生(可能会调用您在调配之前保留的原始实现)

  • 希望能帮助到你!

    关于ios - 使用 KIF 设置应用程序环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31834871/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com