J'écris des tests unitaires. Et je ne peux pas tester une fonction, car il appelle keyWindowComment se moquer de la propriété/valeur interne de UIApplication?
UIWindow* window = [UIApplication sharedApplication].keyWindow;
et keyWindow renvoie nil (je n'ai pas la fenêtre). Mais j'ai besoin de retourner n'importe quoi, mais rien.
I utilisé catégorie pour définir manuellement la valeur keyWindow, mais cela ne fonctionne pas
@interface UIApplication(UnitTest)
- (id)getKeyWindow;
@end
@implementation UIApplication(UnitTest)
- (id)getKeyWindow
{
return [self keyWindow];
}
@end
// compiler error: lvalue required as left operand of assignment
[[UIApplication sharedApplication] getKeyWindow] = [[UIWindow alloc] init];
Que feriez-vous à ma place?