我正在尝试设置要验证的 OCMock。
我有一个协议,TaskManagerDelegate
它包含以下方法,
- (void) addTasks:(NSArray * ) tasksToAdd;
像这样设置我的模拟对象后,
id mockTaskManagerDelegate = [OCMockObject mockForProtocol:@protocol(TaskManagerDelegate)];
我像这样将对象分配给被测类,
taskManager.Whatever = mockTaskManagerDelegate;
我在我的 taskManager 上调用了一个方法,然后想验证在 TaskManagerDelegate 上调用了 addTasks 方法,并且传递给它的数组只包含一个对象。
到目前为止,我已经使用 OCMArg 类来检测是否传入了参数,但我很难理解如何检查发送的特定类型是否发送到模拟,或者发送到模拟的对象是否通过了某些测试(有一个 .count 正好是一个例子)。我来自 C# 背景,通常会使用 Moq,您可以在其中使用 lamda 函数对发送到模拟对象的参数进行特定检查。
有谁知道如何用 OCMock 做到这一点,或者如果出于某种概念上的原因它是不可能的?
谢谢,