kak*_*kyo 1 unit-testing block objective-c
根据这个Stackoverflow帖子:Objective-C库中的回调选择器或块,
块似乎是ObjC的未来.然而,就像匿名函数一样,块感觉更像是"起草"一个实现.此外,由于其"嵌入式"性质,我担心过度使用它们会破坏单元测试或"可测试"OOP意义上的模块化.
我找不到关于如何测试块以及如何协调块和常规方法的测试的指南.这个主题有很好的资源吗?
Rap*_*ira 17
我创建了3个等待块在单元测试中执行的宏,因此可以在块内部进行断言.
#define TestNeedsToWaitForBlock() __block BOOL blockFinished = NO
#define BlockFinished() blockFinished = YES
#define WaitForBlock() while (CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, true) && !blockFinished)
Run Code Online (Sandbox Code Playgroud)
例:
- (void)testWaitForBlock {
TestNeedsToWaitForBlock();
[target selectorWithInlineBlock:^(id obj) {
// assertions
BlockFinished();
}];
WaitForBlock();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |