我试图跟随RestKit单元测试指南(https://github.com/RestKit/RestKit/wiki/Unit-Testing-with-RestKit),除了我的项目是一个静态库,而不是一个应用程序。单元测试静态库与RestKit
这里是我写的测试:
- (void)testMappingOfDate
{
id parsedJSON = [RKTestFixture parsedObjectWithContentsOfFixture:@"plan.json"];
RKMappingTest *test = [RKMappingTest testForMapping:[self planMapping] object:parsedJSON];
[test expectMappingFromKeyPath:@"plan.date" toKeyPath:@"date"];
STAssertNoThrow([test verify], nil);
}
当我尝试运行测试,我收到关于测试的第一行这样的错误:
error: testMappingOfDate (api_clientTests) failed: -[NSBundle parsedObjectWithContentsOfResource:withExtension:]: unrecognized selector sent to instance 0x1765c40
好像它没有找到由RestKit定义的NSBundle类别,但我的测试目标头部搜索路径设置为"$(BUILT_PRODUCTS_DIR)/../../Headers"
,并且我验证了此路径包含NSBundle+RKAdditions.h
,其中包含假定的“无法识别的选择器”。
有什么我在这里失踪?
该链接不存在(我在一个免费的开发者帐户,但我认为这不会影响查找)谷歌似乎给了http://developer.apple。 com/library/mac /#qa/qa1490/_index.html – Mark 2012-07-22 20:38:08
这似乎确实改变了这个问题,现在我得到了一堆错误:'未定义的架构i386符号: “_CFHTTPMessageAddAuthentication”,引用来自: - RKRequest addHeadersToRequest] in libRestKit.a(RKRequest.o) - [RKRequest addHeadersToRequest] in libopentripplanner-api-client.a(RKRequest.o)' – mark 2012-07-22 20:40:46
您还必须链接一堆其他库,以及 - 你需要检查您尝试使用的库的文档。注意“链接的框架”。 – Till 2012-07-22 20:45:53