ios - 使用 Kiwi 捕获静态方法调用的参数

标签 ios mocking 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

关于ios - 使用 Kiwi 捕获静态方法调用的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19690355/

相关文章:

xcode - 使用 Kiwi 获取测试结果

html - 在 Safari iOS 13 + 上禁用双击缩放

ios - iOS 后台模式下的 GPS 监控

java - 当我尝试模拟存储库时出错

google-api - 模拟访问公共(public) GCS 存储桶的结果

ios8 - 无法在 iOS8 设备上运行 Kiwi 测试

ios - 如何使用 AFNetworking 对 api 调用进行单元测试

ios - 在 NSManagedObject 类中初始化 @NSManaged 变量?

ios - UIImageView调整大小消除空白IOS

node.js - 如何将 Spies 与 Jest 一起使用来测试 NodeJs 模块/应用程序