Chrome Uzantıları için birim test etme

Birim testi, küçük kod bölümlerinin uzantınızın geri kalanından veya tarayıcının dışından ayrı olarak test edilmesine olanak tanır. Örneğin, yardımcı yöntemin depolama alanına doğru şekilde değer yazdığından emin olmak için bir birim testi yazabilirsiniz.

Uzantı 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 alt düzey uygulamanızdaki Chrome ad alanındaki bağımlılıkları ortadan kaldırmaya yardımcı olabilecek bağımlılık yerleştirme gibi teknikler kullanmayı düşünün.

Uzantı API'larını içeren kodu test etmeniz gerekiyorsa örnekler kullanabilirsiniz.

Örnek: Jest ile taklit kullanma

Tüm testlerden önce çalışacak bir kurulum dosyası bildiren 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, bir testte döndürülen değerle taklit etmek için jest.spy 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. Eksiksiz bir eğitim için Chrome Uzantılarını Puppeteer ile Test Etme sayfasına bakın.