做OCUnit,设置构建后测试为yes,项目无法构建成功

Posted

技术标签:

【中文标题】做OCUnit,设置构建后测试为yes,项目无法构建成功【英文标题】:Do the OCUnit, set the test after build to yes, the project can't build successfully 【发布时间】:2013-05-25 04:34:27 【问题描述】:

很奇怪,当我在“构建设置”中将“构建后测试”设置为“是”时,项目无法构建成功。但是设置为“no”,我在键盘上按“CMD+U”,测试可以成功执行。

我想在 jenkins 中运行 UT 案例,所以我必须将“构建后测试”设置为“是”。或在命令行中输入TEST_AFTER_BUILD=YES,但是在我构建项目时它们都失败了。

我已经执行了 20 个案例,当我将“构建后测试”设置为“是”时,其中 10 个案例都失败了。如果我先将“构建后测试”设置为“否”,从 xcode 执行案例并在键盘上按“CMD+U”,所有 20 个案例都通过了。

有什么想法吗?

谢谢,

赛罗

【问题讨论】:

什么是构建错误? 构建错误是:我已经执行了 20 个案例,当我将“构建后测试”设置为“是”时,其中 10 个案例都失败了。如果我先将“构建后测试”设置为“否”,从 xcode 执行案例并在键盘上按“CMD+U”,所有 20 个案例都通过了。 与文档目录或加载资源有什么关系? 我已经检查了目标的依赖和导入库,没有问题。但是case调用方法会连接互联网并使用多线程,是否没有足够的时间来运行调用的方法? 【参考方案1】:

在黑暗中尝试一下,因为我们还没有构建错误:

当您将 TEST_AFTER_BUILD 设置为 YES 时,您通常还必须将 BUILD_ACTIVE_ARCHITECTURE_ONLY 设置为“NO”并将 x86_64 添加到有效架构中。

我有一个生成测试报告、代码覆盖率、api 文档等的构建脚本示例here:

【讨论】:

以上是关于做OCUnit,设置构建后测试为yes,项目无法构建成功的主要内容,如果未能解决你的问题,请参考以下文章

为 iOS 构建 OCUnit 应用程序测试目标时出现链接器错误

什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?

OCUnit 测试未运行/未找到

Xcode 4 中的 SenTest OCUnit

iPhone 上的 ocunit 测试

如何在命令行中捕获 OCUnit 的测试失败/成功?