ios - OCMock test category methods -


i may not understand mocking have burning question basic scenario. how 1 test instance method of class or how 1 test category method class?

consider class peermessage defines few properties, etc. create own custom category peermessage called type define method, istextmessage:. istextmessage returns boolean value based on contents of peermessage. (please not sample type.)

in test ocmock, configure mock of type peermessage , set it's content valid value follows:

id peermessage = [ocmockobject mockforclass:[peermessage class]]; [[[peermessage stub] andreturn:@"<valid>"] content]; 

and assert peermessage text message:

xctassert([peermessage istextmessage]); 

considering how mocking works, results in: 'unexpected method invoked'. clearly, didn't specify expecting it; neither did stub it. wanted verify api.

how 1 test these instance methods (in case, category instance methods). 1 way redesign category follows:

instead of

- (bool)istextmessage; 

do:

+ (bool)istextmessage:(peermessage *)message; 

but me unnatural , don't feel writing code although don't see wrong it. doesn't need class method. :/

(if explanation question bit ambiguous, i'd happy update.)

you want use partial mock, somehow this:

id peermessage = [ocmockobject partialmockforobject:[[peermessage alloc] init]]; [[[peermessage stub] andreturn:@"<valid>"] content]; xctassert([peermessage istextmessage]); 

this way, real implementation of istextmessage, 1 want test, invoked, can still stub out other methods on object.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -