10

我在让测试框架 Kiwi 与通过 CocoaPods 添加的框架一起工作时遇到问题。我同时加载了 AFNetworking 和 Lumberjack,两者都导致测试失败。只有当我的项目中构建到测试目标中的任何源文件包含来自 CocoaPods 的文件时,测试才会失败。这是我收到的消息:

2012-10-15 13:10:44.386 otest[47294:7e03] 无法加载 /Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest 的测试包因为发生了链接错误。dyld 很可能无法找到链接测试包所针对的框架框架或库,可能是因为框架或库在链接时的安装路径不正确。

我已按照 CocoaPods 和 Kiwi 的所有说明进行操作。

例如,我有一个 APIClient 类。它包括 AFHTTPClient.h。如果我在没有将 APIClient.m 内置到测试目标中的情况下运行测试,则测试将构建并运行良好。如果我确实将源包含在其中,则表示一切成功,但未运行测试,并且上述错误消息在我的日志中。

谢谢,詹姆斯

4

2 回答 2

12

我有一个类似的问题。通过将“构建设置”(在“单元测试”部分)中的Test Host参数设置为.KiwiUnitTest$(BUNDLE_LOADER)

在此处输入图像描述

于 2012-10-25T11:44:51.743 回答
2

丢失的 pch.dia 问题可能是由几个不同的因素引起的,但在我和一些同事的情况下,这解决了丢失的 pch.dia

卸载 CocoaPods 并安装0.17.1

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 0.17.1 --verbose

将 Kiwi 版本锁定为 2.05:

target :KiwiUnitTest, :exclusive => true do
  pod 'Kiwi', '2.0.5'

清理您的 Xcode 项目,包括派生数据。关闭 Xcode,重新打开项目并构建。

于 2013-04-08T23:00:50.820 回答