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]);
Was it helpful?

Solution

I had two copies of the class that was being mocked. By not including the .m file in the test target, everything worked fine.

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
scroll top