Sinon: وثائق للتجسس والتعطيل لـ Getter / Setter

تم إنشاؤها على ٢ نوفمبر ٢٠١٧  ·  10تعليقات  ·  مصدر: sinonjs/sinon

مرحبا جميعا،

هل توجد حاليًا وثائق في أي مكان حول كيفية استخدام ميزات التجسس البالغة والواضع الموضحة في # 1205؟ إذا لم يكن الأمر كذلك ، يمكنني قراءة الكود والاختبارات وإضافة ذلك إذا لزم الأمر. لقد بحثت بجدية ولم أره في أي مكان اعتقدت أنني سأطلبه. شكرا.

Documentation Help wanted Property accessors pinned

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

تم تنفيذه وأنا أستخدمه. اكتشفت كيف من خلال الاطلاع على الاختبارات في # 1205. لقد وجدت الاختبارات هنا .

يتم ذلك على النحو التالي:

spy = sinon.spy(className, 'nameOfGetterFunction', ['get'])

هل يجب أن يكون هذا في المستندات؟ أم أن هذا التنفيذ ليس شيئًا معروفًا حتى الآن؟

ال 10 كومينتر

هل هذا ما كنت تبحث عنه؟

أرى أيضًا هذا مكتوبًا ، لكنه يبدو قديمًا (اعتاد أن يكون صحيحًا):

إذا كنت بحاجة إلى إيقاف المحصلات / المحددات أو الخصائص غير الوظيفية ، فيجب عليك استخدام sandbox.stub

يمكن استخدام بذرة عادية لذلك الآن.

لبذرات تبدو مثل ذلك. لا أعلم بوجود أي شيء في مستندات التجسس لهم.

حسنًا ... لا أعتقد في الواقع أن التجسس قد تم تنفيذه من أجل الحاصلين / المستوطنين. أنا لا أعرف حقًا لماذا أيضًا. سيكون التنفيذ في الأساس شيئًا كالتالي:

fn=Object.getOwnPropertyDescriptor(obj, prop).get
spy=sinon.spy(fn);
Object.defineProperty(obj, prop, { get: spy })

الحرص على اتخاذ طعنة في ذلك؟

تم تنفيذه وأنا أستخدمه. اكتشفت كيف من خلال الاطلاع على الاختبارات في # 1205. لقد وجدت الاختبارات هنا .

يتم ذلك على النحو التالي:

spy = sinon.spy(className, 'nameOfGetterFunction', ['get'])

هل يجب أن يكون هذا في المستندات؟ أم أن هذا التنفيذ ليس شيئًا معروفًا حتى الآن؟

سيكون من الرائع أن يتم توثيقها ، شكرًا لك!

بالتأكيد ، سوف أطرحها.

تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.

هل هناك أي طريقة للتجسس عليها بدون فئة (مباشرة عن طريق الكائن)؟
لديّ كائن فقط في المواصفات ولا يمكنني طلب فئة أداة وضع getter ، فهل هناك أي طريقة أخرى أيضًا؟

@ mouse9 ليس من الواضح ما الذي تطلبه ، وكيف يرتبط ذلك بالإيقاف / التجسس على الأشخاص. أنا لا أفهم ما تقصده بالفصول أيضًا. ليس للفئات معنى حقيقي في جافا سكريبت ، وفي معظم الحالات ، ما تعتقد أنه فئات ليست أكثر من كائنات.

على أي حال ، نحاول إبقاء قائمة مشكلات GitHub مرتبة ومركزة على الأخطاء ومناقشات الميزات. تبدو هذه التذكرة وكأنها سؤال استخدام ؛ يرجى نشره على StackOverflow ووضع علامة عليه بـ sinon ، حتى يتمكن المجتمع الأكبر من المساعدة في الإجابة على أسئلتك.

إذا كنت تشعر أن موضوعك يمثل مشكلة مع Sinon ، فيرجى فتح تذكرة جديدة واتباع الإرشادات الخاصة بالإبلاغ عن مشكلة .

لكودloganhuskins :
spy = sinon.spy(className, 'nameOfGetterFunction', ['get'])

وجدت ، في التأكيد ، لا تحتاج إلى التأكيد على spy.get مثل:
sinon.assert.calledOnce(spy.get);

تم التأكيد سابقًا على التجسس فقط ، ولم ينجح.

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