【发布时间】:2013-12-19 21:51:50
【问题描述】:
我确实有一个类可以像这样处理我的所有网络通信:
typedef void (^ networkEndblock) (NSArray *, NSError *);
@interface NetworkAPI : NetworkBase
+ (void) doSomeNetworkAcion:(networkEndblock) endBlock;
@end
我使用上面的代码是这样的(我不想在这里进入无关的细节)
- (void) runMyProcess:(SomeEndBlock)proccesEnded{
// Bussiness logic
// Get Data from the web
[NetworkAPI doSomeNetworkAcion:^(NSArray *resultArray, NSError *error){
// Check for error. if we have error then do error handling
// If no error, check for array.
// If array is empty then go to code that handles empty array
// else Process data
}];
}
在我的测试方法中,我想触发 runMyProcess 进行测试,我不希望它进入网络,我想控制它并设置案例以使其返回错误、空数组......等等。我知道如何使用 SenTest,它是 MACROS,但我不知道如何伪造我的网络 API。
我查看了存根并期待,但如果我能做我想做的事,我会感到困惑。
谢谢
【问题讨论】:
标签: objective-c unit-testing mocking ocmock