検証する OCMock をセットアップしようとしています。
TaskManagerDelegate
次のメソッドを含むプロトコル があります。
- (void) addTasks:(NSArray * ) tasksToAdd;
このようにモックオブジェクトを設定した後、
id mockTaskManagerDelegate = [OCMockObject mockForProtocol:@protocol(TaskManagerDelegate)];
このようにオブジェクトをテスト対象のクラスに割り当てます。
taskManager.Whatever = mockTaskManagerDelegate;
taskManager でメソッドを呼び出してから、addTasks メソッドが TaskManagerDelegate で呼び出されたこと、および渡された配列にオブジェクトが 1 つだけ含まれていることを確認したいと考えています。
これまでのところ、パラメーターが渡されているかどうかを検出するために OCMArg クラスを使用してきましたが、特定の型が送信されてモックに送信されたこと、またはモックに送信されたオブジェクトが特定のテストに合格したことを確認する方法を理解するのに苦労しています (例では正確に 1 の .count)。私は C# のバックグラウンドを持っており、通常は Moq を使用します。Moq では、ラムダ関数を使用して、モック オブジェクトに送信されるパラメーターに対して特定のチェックを行うことができます。
OCMockでこれを行う方法を知っている人はいますか、または何らかの概念的な理由でそれができない場合は?
ありがとう、