Методы насмешливого класса с OCMock не работают
Что не так с этим кодом? Попытка заставить метод класса вернуть @NO, но он возвращает @YES (NSLog выводит "1").
// Make the test think you don't have any internet
id mockFunctions = [OCMockObject mockForClass:[Functions class]];
[[[mockFunctions stub] andReturnValue:@NO] connectionAvailable];
NSLog(@"derp: %hhd", [Functions connectionAvailable]);
2 ответа
Решение
У меня было две копии класса, над которым издевались. Если не включить файл.m в контрольную цель, все работало нормально.
Строительство для andReturnValue
немного сложнее, чем то, что вы делаете.
[[[mockFunctions stub] andReturnValue:OCMOCK_VALUE((BOOL){NO})] connectionAvailable];
Попробуйте и посмотрите, работает ли он.