我阅读了关于“对 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 上进行单元测试的人能否详细说明需要完成的工作。对于我正在尝试做的事情,它会很有帮助。
最佳答案
您无需执行这些操作即可运行测试。
如果您正在为应用程序编写测试,您应该只需要为您的单元测试包目标设置测试主机和Bundle Loaderbuild设置,它们将作为构建的一部分运行。如果您正在为一个框架编写测试,您甚至不需要这样做,只需确保您的测试包链接到您的框架。
我假设您实际上是在谈论调试您的测试,而不仅仅是运行它们。如果是这样,请务必向我们提供以下信息:
- 您尝试调试哪种测试——应用程序或框架
- 您设置了哪些环境变量,以及您将它们设置为哪些值
- 你设置了什么参数(
-SenTest All
应该是一个参数,而不是环境变量) - 调试控制台中显示的完整错误是什么,而不仅仅是特定的故障
这将有助于诊断发生了什么。
乍一看,您的 DYLD_FALLBACK_FRAMEWORK_PATH
可能有错别字,因为它决定了 dyld
将在哪里寻找 SenTestingKit.framework
如果 @rpath
无法解析,则为二进制。了解它的设置可能会有所帮助。
(PS - 这是 Xcode。)
关于xcode - Xcode 3.1 中的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337/