Xcode 3.1 中的单元测试

Posted

技术标签:

【中文标题】Xcode 3.1 中的单元测试【英文标题】:Unit testing in Xcode 3.1 【发布时间】:2010-09-07 16:00:27 【问题描述】:

我阅读了关于“单元测试 Objective-C 的最佳方法”的问题并按照说明进行操作,但无论我做什么,单元测试都不会运行。实际上整个程序并没有运行,我收到以下消息。

dyld:库未加载:@rpath/SenTestingKit.framework/Versions/A/SenTestingKit 引用自 /Users/garethlewis/work/objc/UnitTesting/build/Debug/UnitTesting 原因:找不到图片

我设置了 DYLD_FALLBACK_FRAMEWORK_PATH 变量、XCInjectBundle 以及 DYLD_INSERT_LIBRARIES 并添加了变量 -SenTest All。

我无法安装单元测试失败的唯一 Xcode 3.1。

成功地在 Xcode 3.1 上进行单元测试的人能否详细说明需要做什么。这对我正在尝试做的事情有很大帮助。

【问题讨论】:

【参考方案1】:

你不需要做这些事情来运行你的测试。

如果您正在为应用程序编写测试,您应该只需要为您的单元测试包目标设置 Test HostBundle Loader 构建设置,它们将作为构建的一部分运行。如果您正在为框架编写测试,您甚至不需要这样做,只需确保您的测试包链接到您的框架即可。

我假设您实际上是在谈论调试测试,而不仅仅是运行它们。如果是这样,请务必向我们提供以下信息:

您尝试调试哪种测试(应用程序或框架) 您设置了什么环境变量,以及您将它们设置为什么值 您设置了哪些参数(-SenTest All 应该是一个参数,而不是环境变量) 调试控制台中显示的完整错误是什么,而不仅仅是具体的故障

这将有助于诊断发生了什么。

乍一看,您的DYLD_FALLBACK_FRAMEWORK_PATH 中可能存在拼写错误,因为这决定了如果@rpath 无法解析,dyld 将在何处查找SenTestingKit.framework 二进制文件。知道它的设置可能会有所帮助。

(PS - 这是 Xcode。)

【讨论】:

以上是关于Xcode 3.1 中的单元测试的主要内容,如果未能解决你的问题,请参考以下文章

将单元测试移动到 xcode 中的不同文件夹

xcode中的单元测试用例失败

测试类的包返回 Xcode 10 中的主包,而不是单元测试包

将单元和 UI 测试添加到 Xcode 中的现有项目

xcode 中的单元测试(使用 GHUnit 和 OCMock)

单元测试目标中的 xcode RunUnitTests 脚本?