无法在iOS中模拟和存根JSValue对象

时间:2018-07-06 17:49:11

标签: ios objective-c webkit javascriptcore jsvalue

我试图创建一个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使用描述符?

感谢任何帮助或任何其他替代方法来实现这一目标。

0 个答案:

没有答案