我想为 iOS 应用程序编写一个使用 RestKit
的静态库——但是 RestKit
调用在静态库的单元测试中不起作用。
我几乎可以肯定我在这里做了一些完全愚蠢的事情,但我不知道这是什么。
在 iOS 应用程序中使用静态库,并在 iOS 模拟器中运行它,效果如愿。
要让 RestKit
在静态库中工作而不是在 iOS 应用程序中工作,是否需要做些什么?
我创建了一个示例 Xcode 4 项目 here .
调用我的 API 的代码很简单:
+ (void)testRestKit
{
NSString* URL = @"http://0.0.0.0:3000/api";
RKClient* client = [RKClient clientWithBaseURL:URL username:@"me@somewhere.com" password:@"password"];
[client get:@"/users/current" delegate:nil];
}
我的测试是:
- (void)testExample
{
[MyLib testRestKit];
sleep(10);
}
注意:我添加了 sleep 以防万一它是一个计时的东西,其中单元测试将在 RestKit
没有机会完成 API 调用的情况下完成。它没有帮助。
即使 RestKit
调用不工作,也没有可见的错误。
更新:对于那些有兴趣做类似事情的人,您可能还想查看 Daniel Jalkut 的 RSTestingKit .从本质上讲,它们是提供此处提供的解决方案的功能以及其他一些功能的类。
最佳答案
你在 Restkit list serve 上也问过这个问题;我 fork 了你的项目 https://github.com/dbarros/RestKitStaticLibraryTest并为您修复:
第二次拉取请求 https://github.com/dbarros/RestKitStaticLibraryTest/pull/2添加运行循环。看到这里的答案,Josh Caswell 和我的想法很相似。
由于 Josh 已经通过解决方案正确诊断了问题并将其发布在上方,并且我已经提交了修复,所以我只是因为带有修复的拉取请求才提到这一点。
关于iphone - 在静态库中使用时 RestKit 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9561123/