[!NOTE] أداة تاريخية: استُخدمت Blanket.js على نطاق واسع لقياس تغطية شيفرة Mocha خفيفة الوزن داخل العملية. للمشاريع الحديثة بـ Node.js و TypeScript يُوصى باستخدام c8 (تغطية V8 الأصلية) أو NYC / Istanbul.
Blanket.js هي مكتبة سلسة لقياس تغطية شيفرة JavaScript مصممة للعمل مع مشغلات الاختبار مثل Mocha.
التثبيت
npm install --save-dev blanket
إعداد مساعد الاختبار
استدعِ Blanket قبل استدعاء الملفات التي تريد قياس تغطيتها:
// test/helper.js
if (process.env.COVERAGE) {
require('blanket')({
pattern: require('path').resolve('./src')
});
}
// استدعِ الوحدات بعد تسجيل خطاف blanket
const myModule = require('../src/index');
نصوص package.json البرمجية
أضف أوامر التغطية إلى package.json:
{
"scripts": {
"test": "mocha test/",
"coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
}
}
أضف تقرير HTML الناتج إلى .gitignore:
echo "coverage.html" >> .gitignore
شغّل عملية إنشاء تقرير التغطية:
npm run coverage
التكامل المستمر و Coveralls
ثبّت مُخرج تقارير LCOV ومحول Coveralls:
npm install --save-dev mocha-lcov-reporter coveralls
أضف خطوة التنفيذ داخل مسارات التكامل المستمر (CI):
mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js