NISERuntimeFake 0.3.0

NISERuntimeFake 0.3.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2014年12月

未认领维护。



  • 作者
  • Łukasz Wolańczyk

这是什么?

NISERuntimeFake 是一个 NSObject 分类,可以在运行时创建假对象。

它做什么?

它创建与真实对象不同行为的行为假对象。
您可以通过重写实现的实例方法来定义不同的行为。

它是如何工作的?

  • 创建假对象
  • 用您的实现覆盖实例方法
  • 在测试中使用您的假对象

示例

//Creating fake object
YourClass *fakeObject = [YourClass fake]; 

//Overriding instance method
__block NSString *capturedString;
[fakeObject overrideInstanceMethod:@selector(doSomethingWithString:) withImplementation:^(YourClass *_self, NSString *string){
  capturedString = string;
}];

//Use your fake object as you would normally use a real object
[fakeObject doSomethingWithString:@"Whatever"];

NSLog(@"%@", capturedString); //Output will be "Whatever"


//If you want to make new fake object with original implementation just create new one 
fakeObject = [YourClass fake];

带协议的假对象示例

//Create fake object with protocol methods
YourClass *fakeObjectWithProtocol = [YourClass fakeObjectWithProtocol:@protocol(YourProtocol) includeOptionalMethods:YES];

假类示例

//Create fake class
Class *fakeClass = [YourClass fakeClass];

//Create fake object with cusotm initializer
YourClass *fakeObject = [[fakeYourClass alloc] initWithWhatever:whatever];