使用可配置的false

时间:2018-09-26 13:56:53

标签: javascript node.js unit-testing sinon auth0

我正在尝试使用ManagementClient.prototype.createUsernodeJS auth0 lib SinonJS进行存根。

问题是createUser是使用Object.definePropertyconfigurable: false定义的吸气剂,因此使用sinon.replaceGetter()sinon.stub(object, 'method').get(fn)会抛出Cannot redeclare property。我在他们的Github仓库上打开了an issue,有人告诉我sinon.stub(ManagementClient.prototype, 'createUser', fn)在工作,但问题是自v3.0.0起,该语法已被弃用。我尝试使用sinon.stub(ManagementClient.prototype, 'createUser').callsFake(fn)来代替旧语法,但是它不能像以前的语法那样工作。这是runkit,显示了它的作用。

我的问题是:即使声明为configurable: false,我还是有办法对吸气剂进行打桩还是被搞砸了?我似乎找不到办法。

我已经问过他们是否考虑更新其Object.defineProperty呼叫以设置configurable: true但无济于事。

1 个答案:

答案 0 :(得分:0)

似乎无法覆盖用configuration: false定义的属性,因此我最终围绕Auth0 SDK制作了自己的包装,并对其进行存根而不是SDK本身。