عند استخدام أي طريقة حماية في وضع الحماية الافتراضي ، لا يقوم 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()
لا يفعل شيئًا. يبدو أن محرر مستندات Sandbox API والمصدر في lib/sinon.js
يشير إلى أن هذا هو الاستخدام المقصود.
لقد اختبرت فقط stub
و spy
، لكنني أتوقع أن أي طرق أخرى مظللة أيضًا لا تعمل على النحو المنشود.
أجريت هذه الاختبارات على Node v8.9.4 و Chrome 66.0.3359.117 عبر Karma / Chromedriver ، على الرغم من أن هذه المشكلة تبدو غير مرتبطة بالبيئة.
شكرًا لك على تقرير الخطأ المفصل الخاص بك 👍
تم إصلاح هذا في [email protected]
شكرا لمعالجة هذا بسرعة! مقدر جدا :)
مع تقارير الأخطاء الجيدة ، يسهل سحق معظم الأخطاء
التعليق الأكثر فائدة
مع تقارير الأخطاء الجيدة ، يسهل سحق معظم الأخطاء