3

これは、OCMock の期待に関する非常に基本的な質問です。objectA のインスタンス メソッド methodB を呼び出す objectA のインスタンス メソッド methodA があるとします。

- (void)methodA {
    [self methodB];
}

- (void)methodB {
    ...
}

ここで、objectA の部分モックが methodA と methodB を呼び出すことを確認したいとしましょう。あなたがしなければならないのは次のことだけのようです:

- (void)test {
   id mockObjectA = [OCMockObject partialMockForObject:self.objectA];
   [[mockObjectA expect] methodA];
   [[mockObjectA expect] methodB];

   [self.objectA methodA];

   [mockObjectA verify];
}

テストを実行すると、methodA は正常に呼び出されたが、methodB は正常に呼び出されなかったと見なされます。私は何を誤解していますか?

助けてくれてありがとう。

4

1 に答える 1

4

実装が実際に実行されるように、メソッド呼び出しを実際のオブジェクトに転送するようにモックに指示する必要があります。

[[[mockObjectA expect] andForwardToRealObject] methodA];
于 2013-05-02T20:41:21.720 に答える