デフォルトのサンドボックスでサンドボックスメソッドを使用すると、 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
でているようですへの呼び出しextend
でlib/sinon.js
、アンサンドボックスstub/spy/etc.
からの輸出apiMethods
そのサンドボックスのメソッドをシャドウイング終わると、 restore()
は何もしません。 lib/sinon.js
のSandbox APIドキュメントとソースは、これが意図された使用法であることを示唆しているようです。
stub
とspy
のみをテストしましたが、他のシャドウメソッドも意図したとおりに機能しないと思います。
これらのテストは、Karma / Chromedriverを介してNodev8.9.4とChrome66.0.3359.117で実行しましたが、この問題は環境とは関係がないようです。
詳細なエラーレポートをありがとうございます👍
これは[email protected]
修正されました
これにとても早く対処してくれてありがとう! とても有難い :)
優れたエラーレポートがあれば、ほとんどのバグは簡単に潰せます
最も参考になるコメント
優れたエラーレポートがあれば、ほとんどのバグは簡単に潰せます