私はMacアプリケーション、実際にはNSStatusItemを持っており、その環境設定ウィンドウをテストしようとしています。このコードは、ウィンドウが初期化され、applicationDidFinishLaunching以外の関数で表示されることを除けば、コードとほとんど同じように機能するため、モデルとして使用しました。 http://bit.ly/wH6QOk
エラーが発生します:予期されたメソッドが呼び出されません:window
なぜこれが起こるのか理解できません。これが私のテストコードです:
-(void)testPreferencesInit {
mockWindowController = [OCMockObject mockForClass:[NSWindowController class]];
id mockWindow = [OCMockObject mockForClass:[NSWindow class]];
[[[mockWindowController expect] andReturn:mockWindow] window];
[[mockWindow expect] makeKeyAndOrderFront:weathervane];
[weathervane showPreferences:nil];
[mockWindowController verify];
[mockWindow verify];
id windowController;
object_getInstanceVariable(weathervane, "windowController", (void **)&windowController);
GHAssertEqualObjects(windowController, mockWindowController,
@"windowController not set on appDelegate");
GHAssertTrue([[windowController windowNibName] isEqualToString:@"Preferences"], @"Window Controller nib name not set");
object_setInstanceVariable(weathervane, "windowController", nil);
mockWindowController = nil;
}