【发布时间】:2015-05-22 14:10:14
【问题描述】:
这个link 展示了如何使用 Kiwi 捕获模拟对象的参数。
有没有办法捕获静态方法调用的参数?在我看来,这只适用于实例方法。
【问题讨论】:
这个link 展示了如何使用 Kiwi 捕获模拟对象的参数。
有没有办法捕获静态方法调用的参数?在我看来,这只适用于实例方法。
【问题讨论】:
考虑到实例方法和类方法都使用同一个message dispatching mechanism,您可以安全地监视类方法。
@interface MyObject: NSObject
+ (void)doNoOpWithObject:(NSObject*)obj;
@end
@implementation MyObject
+ (void)doNoOpWithObject:(id)object {}
@end
SPEC_BEGIN(StaticSpy)
it(@"captures static method arguments", ^{
KWCaptureSpy *spy = [MyObject captureArgument:@selector(doNoOpWithObject:) atIndex:0];
[MyObject doNoOpWithObject:@18];
[[spy.argument should] equal:@18];
});
SPEC_END
【讨论】: