यूनिट टेस्टिंग Chrome एक्सटेंशन

यूनिट टेस्टिंग की मदद से, कोड के छोटे सेक्शन की जांच, ब्राउज़र के बाहर और बाकी एक्सटेंशन से अलग की जा सकती है. उदाहरण के लिए, यह पक्का करने के लिए यूनिट टेस्ट लिखा जा सकता है कि कोई हेल्पर तरीका, स्टोरेज में वैल्यू को सही तरीके से लिखता है या नहीं.

एक्सटेंशन एपीआई का इस्तेमाल किए बिना लिखे गए कोड की जांच, सामान्य तरीके से की जा सकती है. इसके लिए, 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);
});

अगले चरण

हमारा सुझाव है कि आप एंड-टू-एंड टेस्ट जोड़ें, ताकि यह पक्का किया जा सके कि आपका एक्सटेंशन उम्मीद के मुताबिक काम कर रहा है. ट्यूटोरियल देखने के लिए, Puppeteer की मदद से Chrome एक्सटेंशन की जांच करना लेख पढ़ें.