我有以下协议:
@objc protocol SomeProtocol {
func someMethod()
}
然后一些符合该协议的类:
class SomeClass: SomeProtocol {
...
func someMethod() {
// do something
}
}
我的问题:如何测试(我在使用OCMock的Objective-C中测试),例如在SomeClass实现的someMethod()中编写的方法调用实际上是调用吗?
非常感谢。
答案 0 :(得分:2)
我对斯威夫特的知识不是很了解,所以我不能给你一个完全准确的答案,但是,对于Obj-C,我做的是这样的:
id mockDelegate = OCMProtocolMock(@protocol(CallViewControllerDelegate));
self.cVC.delegate = mockDelegate;
OCMExpect([mockDelegate callOutcomeSuccessful:OCMOCK_ANY]);
OCMVerifyAll(mockDelegate);
通过这个,您可以为模拟委托对象设置期望值,稍后您可以在该对象上验证对委托方法的调用。