gpt4 book ai didi

iphone - 如何在构建时测试 UIViewController?

转载 作者:行者123 更新时间:2023-12-03 18:44:34 27 4
gpt4 key购买 nike

我非常相信测试,但不是一个很好的实践者。我在覆盖模型对象并以 TDD 风格对其进行编程方面做得非常好。我实际上非常喜欢它,我很想将其扩展到我的 Controller 层,特别是我的 UIViewController 子类。

不幸的是,许多 UIKit 类在独立测试中无法运行。但是,我对仅在设备上运行依赖测试的限制感到不满意。对我来说,在每次构建之前运行所有单元测试非常重要,在我看来,对 Controller 代码进行单元测试(相对于其他类型的测试)是可能且值得的。

我的问题很简单:如何测试 UIViewController 以便在每次构建之前运行测试?我知道这个问题有几种不同的解决方案,但不太了解每种解决方案的各种好处。

最佳答案

一般来说,如果您遇到了似乎无法进行无条件测试的环境问题,如果好处足够大,足以保证您跳过一些障碍,您可以解决它。

这里的情况是不需要的外部依赖项的特殊情况,我通常在单元测试中通过#ifdefing出微小的依赖代码来解决这个问题,或者通过实现 stub 类来填充预期的依赖项角色,以便我的代码可以进行测试。

因此,在这种特定情况下,您可以创建一个新的源文件,仅在测试包中链接,名为“UIKitStubClasses.m”……在其中您可以实现模拟 UIKit 依赖类(例如 UIViewController)的必要条件,以便您的测试链接并彻底运用它们自己的逻辑。

要记住的重要一点是,这通常不一定需要那么多工作。这些测试将让您知道需要在 stub 中实现什么,例如通过发出有关未实现方法的异常。您只需添加消除错误所需的内容并测试您的代码,然后您的 stub 类就足以像任何合法的系统框架类一样用于测试

关于iphone - 如何在构建时测试 UIViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301053/

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