OCMock测试委托方法

时间:2015-08-18 13:07:51

标签: ios objective-c swift delegates ocmock

我有以下协议:

@objc protocol SomeProtocol {
    func someMethod()
}

然后一些符合该协议的类:

class SomeClass: SomeProtocol {
    ...
    func someMethod() {
        // do something
    }
}

我的问题:如何测试(我在使用OCMock的Objective-C中测试),例如在SomeClass实现的someMethod()中编写的方法调用实际上是调用吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

我对斯威夫特的知识不是很了解,所以我不能给你一个完全准确的答案,但是,对于Obj-C,我做的是这样的:

id mockDelegate = OCMProtocolMock(@protocol(CallViewControllerDelegate));
self.cVC.delegate = mockDelegate;
OCMExpect([mockDelegate callOutcomeSuccessful:OCMOCK_ANY]);
OCMVerifyAll(mockDelegate);

通过这个,您可以为模拟委托对象设置期望值,稍后您可以在该对象上验证对委托方法的调用。