Sinon: 默认沙箱的恢复方法不恢复存根/间谍

创建于 2018-05-02  ·  4评论  ·  资料来源: sinonjs/sinon

在默认沙箱上使用任何沙箱方法时, restore()不会正确恢复模拟或间谍。 Sinon v5.0.2 上的最小重现案例:

const sinon = require('sinon');
const myApi = {
  someMethod() {
    console.log('test method!');
  }
};

sinon.stub(myApi, 'someMethod');
sinon.restore();
sinon.stub(myApi, 'someMethod');
// TypeError: Attempted to wrap someMethod which is already wrapped

看来,在调用extendlib/sinon.js ,未沙盒stub/spy/etc.从出口apiMethods结束了阴影沙箱方法等restore()什么都不做。 lib/sinon.jsSandbox API 文档和来源似乎表明这是预期用途。

我只测试了stubspy ,但我希望任何其他隐藏的方法也不能按预期工作。

我通过 Karma/Chromedriver 在 Node v8.9.4 和 Chrome 66.0.3359.117 上运行了这些测试,尽管这个问题似乎与环境无关。

最有用的评论

有了良好的错误报告,大多数错误都很容易解决

所有4条评论

谢谢你详细的错误报告👍

这已在[email protected]修复

感谢您这么快解决这个问题! 非常感激 :)

有了良好的错误报告,大多数错误都很容易解决

此页面是否有帮助?
0 / 5 - 0 等级