Jest: [سؤال] هل Jest مناسب لاختبارات الوحدة الخلفية؟

تم إنشاؤها على ٤ أغسطس ٢٠١٦  ·  3تعليقات  ·  مصدر: facebook/jest

لقد كنت أحب Jest حتى الآن لاختبار مكونات React.

لقد استخدمت / كنت أستخدم Mocha / Jasmine لاختبار الخلفيات الخلفية للعقدة ، وأردت فقط أن أسأل عما إذا كان من الممكن (والموصى به) استخدام Jest لاختبار الواجهة الخلفية ، حيث لم أتمكن من العثور على أي إشارة إلى ذلك في المستندات (React ، React-Native ، Async ، Webpack ، أي لا Node )

لقد حاولت استخدامه للتو ، ولسوء الحظ واجهت حاجزًا فوريًا. brcypt أطلق تحذير [SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random() وفشل الاختبار بسبب خطأ في وقت التشغيل ( TypeError: Path must be a string. Received undefined )

هل من الممكن استخدام Jest لاختبار الواجهة الخلفية في الوقت الحالي ، أم أنه ليس جزءًا من نطاق المشروع وشيء مثل Jasmine يكون مناسبًا بشكل أفضل؟

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

ما نوع اختبار الواجهة الخلفية الذي تحاول القيام به؟ يستخدم Jest نفسه Jest للاختبارات ويستخدم الكثير من المكتبات Jest للاختبار. هل يمكنك توفير مستودع على github يمكنني استخدامه لـ npm install و npm test الذي يعرض مشكلتك؟

أوصي بأمرين: محاولة إعداد "automock": false و "testEnvironment": "node" . إذا كانت اختباراتك الأخرى تعتمد على هذا ، فيمكنك إنشاء تكوين Jest منفصل وتشغيل الدعابة باستخدام --config=pathToConfig.json واستخدام modulePathIgnorePatterns لتجاهل اختبارات الواجهة الأمامية.

ال 3 كومينتر

ما نوع اختبار الواجهة الخلفية الذي تحاول القيام به؟ يستخدم Jest نفسه Jest للاختبارات ويستخدم الكثير من المكتبات Jest للاختبار. هل يمكنك توفير مستودع على github يمكنني استخدامه لـ npm install و npm test الذي يعرض مشكلتك؟

أوصي بأمرين: محاولة إعداد "automock": false و "testEnvironment": "node" . إذا كانت اختباراتك الأخرى تعتمد على هذا ، فيمكنك إنشاء تكوين Jest منفصل وتشغيل الدعابة باستخدام --config=pathToConfig.json واستخدام modulePathIgnorePatterns لتجاهل اختبارات الواجهة الأمامية.

شكرا على الرد السريعcpojer!

سعيد لسماع أنه يمكن استخدام Jest مع Node! كنت أفكر في ذلك ، نظرًا لأنها مكتبة اختبار ويجب أن تعمل واجهة برمجة التطبيقات (API) فقط ، لكنني شعرت بالحاجة إلى طرحها خاصةً لأنه لا توجد موارد على الإنترنت تُظهر أنها تُستخدم مع خلفيات Node الخلفية وفي الغالب مع رد فعل (أو Google-Fu الخاص بي فقط لم يكن جيدًا بما يكفي).

لقد كنت بالفعل أسخر من node_modules لذا لم يكن الأمر كذلك ، لكن testEnvironment: node أدي الحيلة!

هتافات!

نعم ، البيئة الافتراضية ( jsdom ) لا تصلح دائمًا بشكل جيد لاختبار العقدة. فائدة أخرى هي أن env العقدة سوف يتم تحميلها بسرعة 500 ملي ثانية (فعالة بشكل فوري) لأن jsdom بطيء نوعا ما.

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