I had two copies of the class that was being mocked. By not including the .m file in the test target, everything worked fine.
Mocking class methods with OCMock not working
-
01-09-2022 - |
Question
What's wrong with this code? Trying to make a class method return @NO, but it's returning @YES (the NSLog prints "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]);
Solution
OTHER TIPS
The construction for andReturnValue
is a little more complex than what you are doing.
[[[mockFunctions stub] andReturnValue:OCMOCK_VALUE((BOOL){NO})] connectionAvailable];
Give that a try and see if it works.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow