gpt4 book ai didi

cocoa - 添加 OCMock 后单元测试始终为 "successful"

转载 作者:行者123 更新时间:2023-12-03 16:11:37 25 4
gpt4 key购买 nike

我想在我的 Cocoa 项目的单元测试中使用 OCMock。我已经下载了最新版本的 OCMock (2.0.1) 并将 OCMock.framework 复制到我的项目目录中。在 Xcode 中,我已将框架添加到单元测试目标的 link 阶段。然后我添加了一些使用 OCMock 类的代码。

从那时起,所有单元测试都报告为“成功” - 绿灯,没有错误或警告。即使在引入 STFail 调用之后,Xcode 仍声称“测试成功”。在任意测试方法中放置断点会发现它们都没有被执行。

如果我使用 OCMock 注释掉代码(包括 import 指令),问题仍然存在。

当我从链接阶段删除 OCMock 时,问题消失了 - 即 STFails 再次开始失败。

这类似于 another question我之前问过,但不完全相同:在这种情况下,日志导航器中的信息显示没有错误。什么可能导致这种行为?我可以做什么来诊断问题?

最佳答案

原来我是missing a Copy Files build phase对于框架,这显然可能会导致 a variety of issues

这对我有用:

  1. 复制文件阶段添加到单元测试目标的构建阶段。我将其放置在运行脚本阶段之前,使其成为倒数第二个阶段。
  2. OCMock.framework 项从项目导航器拖到阶段上以进行添加;使用 + 按钮添加它在 Xcode 4.6 中不起作用(也许是因为框架是目录?)。
  3. 将阶段的目标设置为“框架”。
  4. 在单元测试目标的build设置中,查找运行路径搜索路径并添加条目@loader_path/../Frameworks

这样,单元测试可执行文件将能够在运行时找到框架。请注意,您还可以使用“产品目录”作为“复制文件”阶段的目标,在这种情况下,您可以跳过第四步。

关于cocoa - 添加 OCMock 后单元测试始终为 "successful",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920645/

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