2009-07-13 10 views
6

私は、私のアプリのテストでUITabBarControllerをモックしようとしています。私はテストクラスでocmockと共にインポートされる別のファイルの別の場所で定義されたクラスのカテゴリメソッドを持っています。OCMockでUIKitクラスのカテゴリメソッドをスタブできるようにするにはどうすればよいですか?

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

しかし、私は、テストがそのスタブコールになったとき、私はというエラーを取得::私がする必要がある特定の何かが

[NSProxy doesNotRecognizeSelector:displayedViewController] called! 

ありますが私はそうしようとしていることはこれですocmockが組み込みのフレームワーククラスのカテゴリメソッドを認識できるようにするにはどうすればよいですか?

答えて

16

問題を見つけました。クラスのカテゴリが定義されているファイルがプロジェクトの正しいターゲットにありませんでした。これは主要な目標であったが、単体テストの目標ではなかった。それを適切な場所に追加すると、うまく動作しました。

+3

独自のソリューションを文書化していただきありがとうございます。それは私を助けた:) – nacho4d

関連する問題