テストするクラスの.mファイルで宣言されているプライベートプロパティがあります。これをClassUnderTestと呼びましょう。ClassUnderTestは、ClassToBeMockedのインスタンスをインスタンス化します。OCMockを使用してClassToBeMockedのインスタンスをモックアウトし、それをClassUnderTestに割り当てるにはどうすればよいですか?
7330 次
2 に答える
51
テストクラスでプロパティを再宣言します。プライベートメソッドについても同じことができます。ClassUnderTestTest.mの場合:
@interface ClassUnderTest ()
@property(retain)ClassToBeMocked *instanceToBeMocked;
-(void)somePrivateMethod;
@end
于 2012-08-10T16:59:39.383 に答える
1
次は機能しますか?
id classUnderTest = ... // get from somewhere
id mock = [OCMockObject mockForClass:[ClassToBeMocked class]];
[classUnderTest setValue:mock forKey:@"nameOfThatPrivateProperty"];
このようなプライベートプロパティを設定できるかどうかは完全にはわかりません。どんな物件なのかによると思います。
于 2012-08-10T11:04:24.083 に答える