2
傳遞塊我有一個處理我所有的網絡通信這樣一類:OCMock一個類的方法回調含自定義數據
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。
我看着存根和期待,但我弄糊塗了,如果我可以做我想做的。
由於
工作正常iOS 7,我不得不添加NSInvocation + OCMAdditions.h,但在iOS 6.1崩潰,任何想法? – user2708681
很難說。 EndBlock中是否存在與iOS6不兼容的東西?崩潰日誌說什麼? –