كيف يمكنني تشغيل بعض التكوين قبل كل اختبار تجريبي
-
21-12-2019 - |
سؤال
أنا أكتب اختبارات لتطبيق رد الفعل الذي يجعل من استخدام فلوكسور لتوفير المرسل الحدث.يتطلب القيام بهذا العمل إخبار الدعابة بعدم السخرية من بعض الوحدات التي يتم استخدامها داخليا ، ويتم توفيرها بواسطة العقدة نفسها.
وهذا يعني أنني لا يمكن أن مجرد إضافتها إلى unmockedModulePathPatterns
مفتاح التكوين ، وبدلا من ذلك يجب استخدام بعض التعليمات البرمجية مثل هذا:
[ 'util', 'events' ].forEach(function (module) {
jest.setMock(module, require.requireActual(module));
});
ومع ذلك ، لا يمكنني العثور على أي مكان مفيد لوضعه.لقد حصلت على setupEnvScriptFile
الذي يضع عدد قليل من الكرات التي أستخدمها في جميع اختباراتي تقريبا ، ولكن jest
لا يبدو أن الكائن متاح في هذا السياق ، لذلك لا يمكنني فقط تعيين السخرية هناك.
كتدبير مؤقت هاكي لقد ملفوفة التعليمات البرمجية أعلاه في وظيفة التي أسميها في بداية أي describe
كتل اختبار مخازن فلوكسور ، ولكن بعيدا عن المثالية.
المحلول 2
يبدو أن الإجابة ، على الأقل حاليا ، هي "لا يمكنك في هذه الحالة" ، ولكن هناك مشكلات مفتوحة للتغييرين اللذين يجب إجراءهما لدعمهما.
https://github.com/facebook/jest/issues/106 https://github.com/facebook/jest/issues/107
نصائح أخرى
هل حاولت التكوين.سيتوبتستفراميوركسكريبتفيل?يبدو أنه سيكون المكان المناسب لقرد تصحيح أبي ، وفقا للمستندات.
فويو ، وهنا الحل الذي كنا تستخدم لإضافة فلوكسسور ودعم رد فعل الموجه لمواصفات الاختبار لدينا.