בדיקת יחידה מאפשרת לבדוק קטעי קוד קטנים בנפרד משאר התוסף ומחוץ לדפדפן. לדוגמה, תוכלו לכתוב בדיקת יחידה כדי לוודא ש-method עזר כותב ערך לאחסון בצורה נכונה.
אפשר לבדוק קוד שנכתב בלי להשתמש בממשקי API של תוספים כרגיל, באמצעות מסגרת כמו Jest. כדי להקל על בדיקת הקוד בדרך הזו, מומלץ להשתמש בשיטות כמו הזרקת יחסי תלות, שיכולות לעזור להסיר יחסי תלות במרחב השמות של Chrome בהטמעה ברמה הנמוכה יותר.
אם אתם צריכים לבדוק קוד שכולל ממשקי API של תוספים, מומלץ להשתמש בהדמיות.
דוגמה: שימוש בהדמיות עם 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.