Mon problème est que je me fais une erreur:Comment utiliser mock et vérifier les méthodes de OCMock dans l'objectif-C?
OCMckObject[NSNumberFormatter]: expected method was not invoked:setAllowsFloats:YES
J'ai écrit le code suivant:
(void) testReturnStringFromNumber
{
id mockFormatter = [OCMockObject mockForClass:[NSNumberFormatter class]];
StringNumber *testObject = [[StringNumber alloc] init];
[[mockFormatter expect] setAllowsFloats:YES];
[testObject returnStringFromNumber:80.23456];
[mockFormatter verify];
}
@implementation StringNumber
- (NSString *) returnStringFromNumber:(float)num
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setAllowsFloats:YES];
NSString *str= [formatter stringFromNumber:[NSNumber numberWithFloat:num]];
[formatter release];
return str;
}
@end
Merci Graham. Je l'ai fait et ça marche maintenant. Mais, je veux savoir 2 est-il un moyen de tester les objets internes à l'intérieur d'une fonction? Et, s'il vous plaît dites-moi, y at-il un bon tutoriel avec des exemples sur OCMock avec iPhone est disponible sur Internet? J'ai beaucoup cherché, mais j'ai trouvé très peu, presque aucun. S'il vous plaît aider. Merci – san
@san: Vous ne pouvez pas faire cela. Vous pouvez tester le comportement global de la fonction/méthode. Si vous avez besoin de grains plus fins, votre API est trop grossière et vous devez interrompre vos méthodes ou paramétrer les objets avec lesquels elles travaillent. –