2016-06-09 2 views
0

Я использую 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. Кто-нибудь знает, как это сделать?

ответ

Смежные вопросы