Je voudrais tester du code avec OCMock.
Les entrailles du code appellent [NSObject isKindOfClass]
sur l'object [NSObject isKindOfClass]
que je fournis au code, comme ceci:
if ([object isKindOfClass:[FancyClass class]]) { ...}
Cependant, lorsque je fournis un mock basé sur OCMockObject créé comme ceci:
mock = [OCMockObject mockForClass:[FancyClass class]];
il semble qu'il ne passe pas le test isKindOfClass
.
Aucune suggestion?
La règle générale est que si vous appelez isKindOfClass:
et que vous ne transmettez pas l'une des classs Plist (par exemple, NSSsortingng ou NSNumber), vous le faites mal.
Si la méthode fait deux choses ou plus en fonction de la class de son argument, déchiffrez-la en plusieurs methods et testez chaque méthode séparément.
Si la méthode ne fait qu'une chose, mais doit interagir différemment avec l'object selon la class, alors:
isKindOfClass:
check. Qu'en est-il de:
[[[mock stub] andReturnValue:OCMOCK_VALUE((BOOL) {YES})] isKindOfClass:[FancyClass class]];