1
これは最善のことではありませんが、オブジェクトのプライベートメソッドが呼び出されていることを確認したいので、部分模擬を作成し、私的な方法に対する期待。部分模擬からメソッドを '期待'することは可能ですか?
私がテストを実行すると、cleanupPreviousContentsは呼び出されませんが、テストは成功します。バグはどこですか?
よろしく、 クエンティン
これは最善のことではありませんが、オブジェクトのプライベートメソッドが呼び出されていることを確認したいので、部分模擬を作成し、私的な方法に対する期待。部分模擬からメソッドを '期待'することは可能ですか?
私がテストを実行すると、cleanupPreviousContentsは呼び出されませんが、テストは成功します。バグはどこですか?
よろしく、 クエンティン
はい、これが行うには完全に有効なものです。しかし、あなたはあなたの部分的なモックのための新しい参照を作成する必要があります。
Synchronizer * sync = [[Synchronizer alloc] initWithCleanup:YES];
id mockSync = [OCMockObject partialMockForObject:sync];
[[mockSync expect] cleanupPreviousContents];
... do something
[mockSync verify];
はあなたinitWithCleanup
メソッド内で呼び出さcleanupPreviousContents
ですか?もしそうなら、あなたはちょっと違った構造にしなければならないでしょう:
Synchronizer *sync = [Synchronizer alloc];
id mockSync = [OCMockObject partialMockForObject:sync];
[[mockSync expect] cleanupPreviousContents];
[sync initWithCleanup:YES];
[mockSync verify];
おっと、分かれたalloc/init! :) – buildsucceeded