我试图创建一个JSValue并对其进行模拟,以返回针对属性getter方法的存根响应。不幸的是,到目前为止,我对OCMock以及属性描述符的运气很少。有尝试这样做吗?
这些是我尝试使用描述符定义属性的不同方式。在所有情况下,JSValue返回为空。
1:
JSValue recommendationJsValue = [JSValue valueWithNewObjectInContext:context];
[recommendationJsValue defineProperty:@"_name"
descriptor:@{
JSPropertyDescriptorValueKey: @"hello",
JSPropertyDescriptorWritableKey: @(NO),
JSPropertyDescriptorGetKey: @"get name() {return _name;}"
}];
2:
JSValue recommendationJsValue = [JSValue valueWithNewObjectInContext:context];
[recommendationJsValue defineProperty:@"_name"
descriptor:@{
JSPropertyDescriptorValueKey: @"hello",
JSPropertyDescriptorWritableKey: @(NO),
JSPropertyDescriptorGetKey: @"name() {return _name;}"
}];
3:
JSValue recommendationJsValue = [JSValue valueWithNewObjectInContext:context];
[recommendationJsValue defineProperty:@"_name"
descriptor:@{
JSPropertyDescriptorValueKey: @"hello",
JSPropertyDescriptorWritableKey: @(NO)
}];
recommendationJsValue 是空对象或空对象。
理想情况下,我希望能够在RecommendationJsValue对象上调用“ getName”方法来检索模拟值。
是否有人尝试过在iOS中为JSValue使用描述符?
感谢任何帮助或任何其他替代方法来实现这一目标。