【问题标题】:Capture arguments of static method calls using Kiwi使用 Kiwi 捕获静态方法调用的参数
【发布时间】:2015-05-22 14:10:14
【问题描述】:

这个link 展示了如何使用 Kiwi 捕获模拟对象的参数。

有没有办法捕获静态方法调用的参数?在我看来,这只适用于实例方法。

【问题讨论】:

    标签: ios mocking kiwi


    【解决方案1】:

    考虑到实例方法和类方法都使用同一个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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2012-12-21
      • 2015-11-02
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多