Я пытаюсь заглушить nodeJS auth0 lib ManagementClient.prototype.createUser
, используя SinonJS
.
Проблема в том, что createUser
является геттером, определенным с Object.defineProperty
с использованием configurable: false
, следовательно, с использованием sinon.replaceGetter()
или sinon.stub(object, 'method').get(fn)
throws Cannot redeclare property
.Я открыл вопрос об этом в репозитории Github, и кто-то сказал мне, что sinon.stub(ManagementClient.prototype, 'createUser', fn)
работает, но проблема в том, что этот синтаксис устарел с v3.0.0
.Я попытался использовать sinon.stub(ManagementClient.prototype, 'createUser').callsFake(fn)
, который должен заменить старый синтаксис, но он не работает, как казалось предыдущим.Вот runkit , показывающий это в действии.
Мой вопрос: есть ли способ для меня заглушить этот геттер, даже если он объявлен как configurable: false
или я ввернут?Я не могу найти способ.
Я уже спросил их, будут ли они обновлять свой Object.defineProperty
вызов, чтобы установить configurable: true
, но безрезультатно.