javascript - pro - mocha yemen




كيفية تشغيل اختبار واحد مع موكا؟ (5)

أستخدم Mocha لاختبار مواد جافا سكريبت الخاصة بي. يحتوي ملف الاختبار الخاص بي على 5 اختبارات. هل من الممكن تشغيل اختبار محدد (أو مجموعة من الاختبارات) بدلاً من جميع الاختبارات في الملف؟


تشغيل اختبار واحد - اسم الملف-

في الواقع ، يمكن للمرء أيضًا إجراء اختبار mocha واحد عن طريق اسم الملف (وليس فقط بـ „it () - string-grepping”) إذا قمت بإزالة نمط ./test/**/*.spec.js (على سبيل المثال ./test/**/*.spec.js ) من mocha الخاص بك . على التوالي ، إنشاء نسخة ، دون:

node_modules/.bin/mocha --opts test/mocha.single.opts test/self-test.spec.js

هنا mocha.single.opts الخاص بي (إنه مختلف فقط في عداد المفقودين في خط الكرة المذكور آنفا)

--require ./test/common.js
--compilers js:babel-core/register
--reporter list
--recursive

الخلفية: في حين يمكنك تجاوز المفاتيح المختلفة من ملف opts-(بدءا -- ) لا يمكنك تجاوز العالم . يحتوي هذا الرابط أيضًا على بعض التفسيرات.

تلميح: إذا كان node_modules/.bin/mocha ، لاستخدام mocha الحزمة المحلية. يمكنك أيضًا كتابة mocha فقط ، إذا تم تثبيته على مستوى العالم.

وإذا كنت تريد وسائل الراحة من package.json : لا تزال: أزل الكرة المصغرة **/* -ish من mocha.opts ، mocha.opts هنا ، لإجراء الاختبار الشامل ، اتركها بعيدًا للاختبار الفردي:

"test": "mocha ./test/**/*.spec.js",
"test-watch": "mocha -R list -w ./test/**/*.spec.js",
"test-single": "mocha $1",
"test-single-watch": "mocha -R list -w $1",

الاستعمال:

> npm run test

على التوالي

> npm run test-single -- test/ES6.self-test.spec.js 

(العقل -- !)


إذا كنت تستخدم npm test (باستخدام البرامج النصية package.json) استخدم إضافي -- لتمرير المعلمة من خلال mocha

مثل npm test -- --grep "my second test"

تحرير : يبدو وكأنه --grep يمكن أن يكون صعب قليلاً (ربما يعتمد على الحجج الأخرى). تستطيع:

تعديل الحزمة. json:

"test:mocha": "mocha --grep \"<DealsList />\" .",

أو بدلا من ذلك استخدام --bail الذي يبدو أقل صعب

npm test -- --bail

لست متأكدا لماذا لا تعمل طريقة grep بالنسبة لي عند استخدام اختبار npm. هذا يعمل على الرغم من. أنا أيضا بحاجة إلى تحديد مجلد الاختبار أيضا لسبب ما.

اختبار npm - اختبار / sometest.js


مرحبا أعلاه الحلول لم تنجح بالنسبة لي. الطريقة الأخرى لتشغيل اختبار واحد هو

mocha test/cartcheckout/checkout.js -g 'Test Name Goes here'

هذا يساعد على تشغيل حالة اختبار من ملف واحد ومع اسم محدد.


npm test <filepath>

على سبيل المثال:

npm test test/api/controllers/test.js

هنا 'test / api / controllers / test.js' هو filepath.





mocha