小编Cag*_*ged的帖子

你如何测试异步方法?

我有一个通过网络获取XML或JSON的对象.完成此提取后,它会调用一个选择器,传入返回的数据.所以,例如,我有类似的东西:

-(void)testResponseWas200
{
    [MyObject get:@"foo.xml" withTarget:self selector:@selector(dataFinishedLoading:)];  
}
Run Code Online (Sandbox Code Playgroud)

我尝试在Test类中实现dataFinishedLoading的路径,并尝试在该方法内部进行测试,但测试套件只是锁定.这似乎是嘲弄的一个案例,但我想知道其他人是否遇到过这种情况以及他们是如何处理的.

仅供参考:我正在使用gh-unit进行测试,任何以test*为前缀的方法都会自动执行.

cocoa unit-testing objective-c

17
推荐指数
2
解决办法
4232
查看次数

正确的方法来链接来自iPhone/CocoaTouch库的库

我正在为iPhone编写一个静态库,我想知道我在做什么,或者我应该采取不同的方法.

我写的静态库依赖于libxml2.libxml2有一个动态库(dylib)和一个静态库(a).我尝试了两种方法.

方法一 - 当我尝试通过将"-lxml2"添加到"其他链接器标志"来链接静态库时,构建失败并显示以下消息:

/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: file: -lxml2 is not an object file (not allowed in a library)
Run Code Online (Sandbox Code Playgroud)

方法二 - 我可以成功链接静态库中的动态库,但我不确定iPhone上是否允许(或正确的方法).即使我正在构建静态库,Apple是否允许链接动态库的静态库?我还在学习静态库,但是根据我的理解,来自dylib的代码将与我的代码结合起来构成一个库,因此与dylib的链接应该不是问题.

总结一下:

  • mylibrary.a - > libxml2.a [不起作用]
  • mylibrary.a - > libxml2.dylib [构建,但这是正确的,可以接受吗?]

iphone static-libraries libxml2 static-linking

7
推荐指数
2
解决办法
6394
查看次数