Sinon: طريقة الاستعادة الافتراضية لوضع الحماية لا تستعيد بذرة / جواسيس

تم إنشاؤها على ٢ مايو ٢٠١٨  ·  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

ويبدو أن في الدعوة إلى 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 ، على الرغم من أن هذه المشكلة تبدو غير مرتبطة بالبيئة.

التعليق الأكثر فائدة

مع تقارير الأخطاء الجيدة ، يسهل سحق معظم الأخطاء

ال 4 كومينتر

شكرًا لك على تقرير الخطأ المفصل الخاص بك 👍

تم إصلاح هذا في [email protected]

شكرا لمعالجة هذا بسرعة! مقدر جدا :)

مع تقارير الأخطاء الجيدة ، يسهل سحق معظم الأخطاء

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات