gpt4 book ai didi

ios - 将 UISpec 与 API 数据结合使用的技巧和教程

转载 作者:可可西里 更新时间:2023-11-01 05:04:13 25 4
gpt4 key购买 nike

我需要开始为这个 iPhone 项目做一些 TDD。问题在于它大量使用 API 数据。

我正在寻找一个很好的教程/指南/示例项目来展示如何实现 TDD 如何在为 iPhone 运行每个测试之前设置数据库。我倾向于使用 UISpec,但如果它做得更好,我愿意研究其他一些测试套件。此外,该项目已经包含 RestKit,它使用 UISpec 进行自己的测试,因此 UISpec 已经包含在 Xcode 项目中。

最佳答案

我是 RestKit 项目的首席开发人员,我建议您不要使用 UISpec 进行测试。 RestKit 对 UISpec 的使用(更准确地说,是它的高度定制的缩减版本)是开发早期的产物——我当时使用 UISpec 进行功能测试,并且对携带这么多库犹豫不决。现在 UISpec 基本上是废弃软件,我已经开始使用 Square 的 KIF 进行 UI/功能测试。

对于新项目的单元测试,我喜欢 Kiwi ( https://github.com/allending/Kiwi ),因为它位于内置 SenTestingKit 之上,并提供 RSpec 样式测试。来自 Pivotal Labs 的 Cedar ( https://github.com/pivotal/cedar ) 和 GHUnit ( http://gabriel.github.com/gh-unit/ ) 也是坚固的。在不久的将来,RestKit 本身可能会从 UISpec 过渡。

现在,关于如何为您的测试设置数据库的问题。如果您查看 RestKit 中的 RKSpecEnvironment.h/m 文件,会发现有很多有用的单元测试方法。假设您正在使用 RestKit 的 Core Data 集成,RKSpecNewManagedObjectStore() 方法将拆除 Core Data 环境并通过删除持久存储为您提供一个清晰的数据库。

RestKit 自己的单元测试可以提供一些关于如何针对 API 数据进行单元化的良好引用(除了上面的测试工具问题之外)。 RKSpecResponseLoader 类可用于将异步 REST 请求转换为您可以测试的程序步骤(它充当 RKObjectLoader 的委托(delegate),并将旋转运行循环以等待加载请求)。因此,一般模式是清除数据库状态,设置您需要/期望的任何对象,然后执行 API 交互并对核心数据中的结果或新状态进行断言。

关于ios - 将 UISpec 与 API 数据结合使用的技巧和教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216924/

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