Chrome Uzantıları için birim test etme

Birim testi, küçük kod bölümlerinin uzantınızın geri kalanından ayrı olarak ve tarayıcı dışında test edilmesine olanak tanır. Örneğin, teslim tarihinizden ödün vermeden yardımcı bir yöntemin depolama alanına doğru şekilde değer yazdığını gösterir.

Uzatma API'leri kullanılmadan yazılan kodlar, Jest gibi bir çerçeve kullanılarak normal şekilde test edilebilir. Kodun bu şekilde test edilmesini kolaylaştırmak için, Chrome'da bağımlılıkları kaldırmaya yardımcı olabilecek bir bağımlılık yerleştirme ad alanı da kullanabilirsiniz.

Uzantı API'leri içeren bir kodu test etmeniz gerekiyorsa örnekler kullanabilirsiniz.

Örnek: Jest ile taklitler kullanma

Tüm testlerden önce çalışacak bir kurulum dosyası tanımlayan bir jest.config.js dosyası oluşturun:

jest.config.js:

module.exports = {
  setupFiles: ['<rootDir>/mock-extension-apis.js']
};

mock-extension-apis.js ürününde, çağırmayı beklediğiniz belirli işlevler için uygulamalar ekleyin:

mock-extension-apis.js:

global.chrome = {
  tabs: {
    query: async () => { throw new Error("Unimplemented.") };
  }
};

Ardından, testte bir döndürülen değeri taklit etmek için jest.spy işlevini kullanın:

test("getActiveTabId returns active tab ID", async () => {
  jest.spyOn(chrome.tabs, "query").mockResolvedValue([{
    id: 3,
    active: true,
    currentWindow: true
  }]);
  expect(await getActiveTabId()).toBe(3);
});

Sonraki adımlar

Uzantınızın beklendiği gibi çalıştığından emin olmak için uçtan uca testler eklemenizi öneririz. Eğitimin tamamı için Chrome Uzantılarını Puppeteer ile Test Etme başlıklı makaleye göz atın.