有没有人知道现有的库可以用OCUnit测试异步代码?我考虑的是像GHAsyncTestCase这样的东西,但它是从SenTestCase提供的。
我之所以问这个问题,是因为如果找不到,我会将GHAsyncTestCase移植到OCUnit,但我不想重复其他人已经完成的工作。
发布于 2011-01-25 00:17:05
Piotr:
您可能会对我使用Mimic所做的工作感兴趣,这是一个用Ruby语言编写的网络存根工具,它允许您在较高级别上存根请求,并且可以通过附带的包装器在Objective-C中使用。
关于异步测试,请看一下我写的一个名为AssertEventually的小工具。
This example同时展示了Mimic和assertEventually。
此外,你可能想看看Kiwi --它是一个建立在OCUnit之上的很棒的小型Objective-C测试框架。我最近贡献了一个补丁,将我的AssertEventually行为移植到Kiwi,它让你可以写下这样的东西:
id someObject = nil;
[do SomethingThatFetchesSomeObjectAsynchronously];
[[theObject(&someObject) shouldEventually] equal:@"some result"];发布于 2013-07-26 18:24:21
AGAsyncTestHelper采用了与AssertEventually略有不同的方法,因为它计算表达式,而不是检查指针是否有新的结果。使用AGAsyncTestHelper的一个优点是,它可以用于块、委托回调等。
WAIT_WHILE(<expression_to_evaluate>, <max_duration>);回答问题
id someObject = nil;
[self doSomethingThatFetchesSomeObjectAsynchronously];
WAIT_WHILE(self.someObject == nil, 1.0); https://stackoverflow.com/questions/4685582
复制相似问题