6

アプリのテストで UITabBarController をモックしようとしています。テスト クラスの ocmock と共にインポートされる別のファイルの別の場所で定義されたそのクラスのカテゴリ メソッドがあります。私がしようとしているのはこれです:

- (void) setUp
{
    id mockTabController = [OCMockObject mockForClass:[UITabBarController class]];
    [[[mockTabController stub] andReturn:nil] displayedViewController]; 
    // displayedViewController is the category method
}

しかし、テストがそのスタブ呼び出しに到達すると、次のようなエラーが表示されます。

[NSProxy doesNotRecognizeSelector:displayedViewController] called!

ocmock が組み込みフレームワーク クラスのカテゴリ メソッドを認識できるようにするために、何か特別なことをする必要がありますか?

4

1 に答える 1

16

私は問題を理解しました。クラスカテゴリが定義されているファイルは、私のプロジェクトの正しいターゲットにありませんでした。それはメインターゲットにありましたが、単体テストターゲットにはありませんでした。適切な場所に追加すると、水泳で機能します。

于 2009-07-21T05:25:17.503 に答える