2012-02-07 5 views
1

私はNSStatusItemのビューとして使用されるカスタムビューを持っています。 setNeedsDisplayが呼び出された後にdrawRectが呼び出されることをテストしたいと思います。OCMockとGHUnitでdrawRectをテストする

CustomView * customView = [[CustomView alloc] initWithFrame:...]; 

    id mockView = [OCMockObject partialMockForClass:customView]; 
    [[mockView expect] setNeedsDisplay:YES]; 
    [[mockView expect] drawRect:NSMakeRect(0, 0, 150, 22)]; 

    [customView setString:@"SomeString"]; // This causes the drawRect message to be sent to customView 

    [mockView verify];` 

ご協力いただければ幸いです。

私が手にエラーが「期待メソッドが呼び出されない:のdrawRect」です

私もGHUnitを使用していますし、YESを返すようにshouldRunOnMainThreadをオーバーライドしています。

答えて

0

drawRect:セレクタは、ViewControllerから呼び出されます。上のテストコードではビューを作成しましたが、何も追加していないので、クラス内のプロパティーの動作に関係なく、ビューはまったく描画されません。

テストビューコントローラを作成してカスタムビューを追加してから、setStringセレクタを呼び出すと、検証が成功すると思います。

+0

返信いただきありがとうございますが、私はその印象を残しておけば、私のアプリはデスクトップアプリであり、iOSアプリではないことを指摘しておきます。あなたがAppKitクラスを参照していた場合、そのクラスは10.5+ですが、私のアプリケーションのsighは10.4未満でなければなりません。 – Lazloman

関連する問題