ইউনিট টেস্টিং Chrome এক্সটেনশন

ইউনিট টেস্টিং কোডের ছোট অংশগুলিকে আপনার বাকি এক্সটেনশন থেকে এবং ব্রাউজারের বাইরে আলাদা করে পরীক্ষা করার অনুমতি দেয়। উদাহরণস্বরূপ, আপনি নিশ্চিত করতে একটি ইউনিট পরীক্ষা লিখতে পারেন যে একটি সহায়ক পদ্ধতি সঠিকভাবে স্টোরেজের একটি মান লিখেছে।

এক্সটেনশন API ব্যবহার না করে লিখিত কোড জেস্টের মতো ফ্রেমওয়ার্ক ব্যবহার করে স্বাভাবিক হিসাবে পরীক্ষা করা যেতে পারে। এইভাবে কোড পরীক্ষা করা সহজ করতে, নির্ভরতা ইনজেকশনের মতো কৌশলগুলি ব্যবহার করার কথা বিবেচনা করুন যা আপনার নিম্ন স্তরের বাস্তবায়নে ক্রোম নামস্থানের উপর নির্ভরতা দূর করতে সাহায্য করতে পারে।

আপনি যদি এক্সটেনশন API গুলি অন্তর্ভুক্ত করে এমন কোড পরীক্ষা করতে চান তবে মক ব্যবহার করার কথা বিবেচনা করুন।

উদাহরণ: জেস্টের সাথে উপহাস ব্যবহার করা

একটি 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);
});

পরবর্তী পদক্ষেপ

প্রত্যাশিত হিসাবে আপনার এক্সটেনশন ফাংশন নিশ্চিত করতে, আমরা এন্ড-টু-এন্ড পরীক্ষা যোগ করার পরামর্শ দিই। একটি সম্পূর্ণ টিউটোরিয়ালের জন্য পাপেটিয়ারের সাথে ক্রোম এক্সটেনশন পরীক্ষা করা দেখুন।