Тестовый пример iOS Kiwi с ошибкой, переданной по ссылке
Скажем у нас есть:
- (NSString *)someMethod:(NSString *)input
{
NSError *error = nil;
NSString *result = [otherObject processInput:input error:&error];
if (error == nil) {
return result;
}
else {
return nil;
}
}
Как я могу протестировать его с помощью Kiwi, чтобы проверить, как еще он себя ведет?
Конечно, я мог бы поставить что-то противное, как input
но я не хочу использовать этот подход. Это юнит-тест для someMethod:
метод, не для processInput:error:
метод и otherObject
это KWMock
, Я пытался использовать KWCaptureSpy
класс или stub: withArguments:
но я либо использовал их неправильно, либо они не являются решением проблемы.
С уважением
1 ответ
В Какао вы должны проверить, если метод возвращает nil
не проверять error
против nil
: http://rentzsch.tumblr.com/post/260201639/nserror-is-hard.
Так что, возможно, переписать someMethod
проверить значение, возвращаемое otherObject
заглушка, а не error
указатель. Это будет проще проверить (вам нужно только позвонить stub:andReturn:
метод из KWMock
Возвращаясь либо nil
или ненулевое значение), и вы будете следовать соглашениям Cococa.