可可 – 添加OCMock后,单元测试总是“成功”

可可 – 添加OCMock后,单元测试总是“成功”,第1张

概述我想在我的 Cocoa项目的单元测试中使用OCMock.我已下载最新版本的OCMock(2.0.1)并将OCMock.framework复制到我的项目目录中.在 Xcode中,我已将框架添加到单元测试目标的链接阶段.然后我添加了一些使用OCMock类的代码. 从那时起,所有单元测试都被报告为“成功” – 绿灯,没有错误或警告.即使在引入STFail调用之后,Xcode声称“测试成功”.在任意测试方 我想在我的 Cocoa项目的单元测试中使用Ocmock.我已下载最新版本的Ocmock(2.0.1)并将Ocmock.framework复制到我的项目目录中.在 Xcode中,我已将框架添加到单元测试目标的链接阶段.然后我添加了一些使用Ocmock类的代码.

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

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

当我从链接阶段删除Ocmock时,问题就会消失 – 即STFails再次失败.

这类似于我以前问过的another question,但不完全相同:在这种情况下,Log Navigator中的信息显示没有错误.什么可能导致这种行为?我该怎么做才能诊断出这个问题?

解决方法 事实证明我的框架是 missing a Copy Files build phase,显然可能导致 a variety of issues.

这对我有用:

>将copy files阶段添加到单元测试目标的构建阶段.我在Run Script阶段之前定位它,使其成为倒数第二个阶段.
>将Ocmock.framework项从项目导航器拖到阶段上以添加它;使用按钮添加它在Xcode 4.6中不起作用(可能是因为框架是目录?).
>将阶段的目标设置为“Frameworks”.
>在单元测试目标的构建设置中,查找Runpath搜索路径并添加条目@loader_path /../ Frameworks.

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

总结

以上是内存溢出为你收集整理的可可 – 添加OCMock后,单元测试总是“成功”全部内容,希望文章能够帮你解决可可 – 添加OCMock后,单元测试总是“成功”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1010089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存