Class mock [NetworkAPI doSomeNetworkAction:]
and use an andDo
block.
// This is in the OCMock project but is really useful
#import "NSInvocation+OCMAdditions.h"
// Whatever you want for these values
NSArray *fakeResultArray;
NSError *fakeError;
id networkAPIMock = [OCMockObject mockForClass:NetworkAPI.class];
[[[networkAPIMock expect] andDo:^(NSInvocation *invocation) {
networkEndBlock endBlock = [invocation getArgumentAtIndexAsObject:2];
endBlock(fakeResultArray, fakeError);
}] doSomeNetworkAction:OCMOCK_ANY];
Also, I would capitalize NetworkEndBlock
in my typedef as it will make your code easier to read for others.