如何使用OCMockito存根CocoaLumberjack或NSLog

时间:2015-04-30 00:55:22

标签: ios objective-c unit-testing mocking ocmockito

我可以存根/验证类方法,但是我对定义的宏有困难。我正在尝试测试我的一个方法调用DDLogInfo。

它在CocoaLumberjack源中的定义如此

#define DDLogInfo(frmt, ...)    LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagInfo,    0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)

谢谢!

1 个答案:

答案 0 :(得分:1)

所有标准CGPoint宏调用DDLog,因此对于OCMock,您将验证+[DDLog log:level:flag:context:file:function:line:tag:format:]是否被调用:

DDLogInfo

不幸的是,使用这种策略你必须对几个值进行硬编码,因为OCMock没有办法指定通用的非指针参数。