Я использую OCMock 3 для проведения модульного тестирования. У меня есть очень простая функция с именем processInfo
, чтобы проверить:захватить несколько аргументов в модульном тесте
@implementation MyService
// in my test case, I want to test this function
-(void) processInfo{
...
[self handleDataWith:infoData name:someName];
}
-(void) handleDataWith:(NSData*)data name:(NSString*)name{
...
}
Мой тест должен быть что-то вроде этого, чтобы захватить аргумент (вдохновленный this answer):
-(void) testProcessInfo {
id serviceMock = [OCMockObject mockForClass:[MyService class]];
// Wow!Wow! wait, the answer I linked above only talk about how to capture a single argument,
//BUT I have two arguments to capture, how to do then?
OCMExpect([serviceMock handleDataWith:[OCMArg checkWithBlock:^(id value){
// Capture argument here...but what about several arguments?
}]]);
Ответ Я связала выше говорит как использовать [OCMArg checkWithBlock:^(id value)]
для захвата одного аргумента, но я хочу записать два аргумента. Как это сделать?
В общем, я с трудом могу найти хорошо документированный путь на интернете о том, как захват нескольких аргументов в единичном испытании с OCMock v3. Кто-нибудь знает, как это сделать?