يسمح اختبار الوحدة باختبار أقسام صغيرة من الرمز بمعزل عن باقي الإضافات وخارج المتصفح. على سبيل المثال، يمكنك كتابة اختبار وحدة للتأكد من أن إحدى الطرق المساعدة تكتب قيمة في التخزين بشكل صحيح.
يمكن اختبار الرمز المكتوب بدون استخدام واجهات برمجة تطبيقات الإضافات كالمعتاد، وذلك باستخدام إطار عمل مثل Jest. لتسهيل اختبار الرمز البرمجي بهذه الطريقة، ننصحك باستخدام أساليب مثل إدخال معلومات الاعتماد التي يمكن أن تساعد في إزالة العناصر الاعتمادية من مساحة اسم Chrome عند تنفيذ المستويات الأدنى.
إذا كنت بحاجة إلى اختبار الرمز الذي يتضمن واجهات برمجة تطبيقات للإضافات، ففكر في استخدام نماذج.
مثال: استخدام نماذج مع Jest
أنشئ ملف jest.config.js
يُعلن عن ملف إعداد سيتم تشغيله قبل جميع الاختبارات:
jest.config.js:
module.exports = {
setupFiles: ['<rootDir>/mock-extension-apis.js']
};
في mock-extension-apis.js
، أضِف عمليات تنفيذ للدوال المحدّدة التي تتوقّع استدعاءها:
mock-extension-apis.js:
global.chrome = {
tabs: {
query: async () => { throw new Error("Unimplemented.") };
}
};
بعد ذلك، استخدِم jest.spy
لنموذج تجريبي لقيمة معروضة في اختبار:
test("getActiveTabId returns active tab ID", async () => {
jest.spyOn(chrome.tabs, "query").mockResolvedValue([{
id: 3,
active: true,
currentWindow: true
}]);
expect(await getActiveTabId()).toBe(3);
});
الخطوات التالية
للتأكّد من عمل الإضافة على النحو المتوقّع، ننصحك بإضافة اختبارات شاملة. يُرجى الاطّلاع على اختبار إضافات Chrome باستخدام Puppeteer للحصول على دليل توجيهي كامل.