私は2つのクラスを持っています。メソッドが別のオブジェクトから呼び出されたことを確認してください。OCMock
オブジェクト1:
- (void) methodA {
ObjectB objectB = [[ObjectB alloc] init];
[objectB methodB];
}
とオブジェクト2:
OCMock、どのように私はmethodB
methodA
呼び出していることを確認するかを使用して
- (void) methodB {
// Does something
}
?私は、次のようなテストを設定してい:
id mock = OCMClassMock([Object2 class]);
OCMStub([mock methodB).andReturn(nil);
[self.object1 methodA];
OCMVerify([mock methodB]);
テストクラスは、テストオブジェクト1ですが、私はそれがobject2は上のメソッドを呼び出すことを確認したいと思います。このテストを実行すると、失敗メッセージが表示されます。
Method methodB was not invoked.
私はまだモック/スタブの新機能です。私はテストを間違って構成している可能性があります。 Object1
をテストしていますが、Object2
で何かを確認しようとしているため、モックは私を少し混乱させます。
このテストを設定するとき、私は正しく考えていますか?もしそうでなければ、私はどのようにこれにアプローチすべきですか?