Не удается смоделировать и заглушить объект JSValue в iOS

Я пытаюсь создать JSValue и смоделировать его, чтобы вернуть заглушки ответы для методов получения свойства. К сожалению, мне пока очень не повезло с 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)
}];

Рекомендации JsValue - это либо ноль, либо пустой объект.

В идеале я хочу иметь возможность вызывать метод "getName" для объекта Рекомендации JsValue, чтобы получить проверенное значение.

Кто-нибудь пробовал использовать дескрипторы раньше для JSValue в iOS?

Цените любую помощь или любые другие альтернативные подходы для достижения этой цели.

0 ответов

Другие вопросы по тегам