La prueba de unidades permite probar secciones pequeñas de código de forma aislada del resto. de la extensión y fuera del navegador. Por ejemplo, puedes escribir una prueba de unidades para asegurarte de que un método de ayuda escriba correctamente un valor en el almacenamiento.
El código escrito sin usar las APIs de extensión se puede probar con normalidad, con un framework como Jest. Para facilitar la prueba del código de esta manera, considera usar técnicas como la inyección de dependencias, que puede ayudar a quitar las dependencias del espacio de nombres de Chrome en tu implementación de nivel inferior.
Si necesitas probar código que incluya APIs de extensión, considera usar simulaciones.
Ejemplo: Cómo usar simulaciones con Jest
Crea un archivo jest.config.js
, que declara un archivo de configuración que se ejecutará antes de todas las pruebas:
jest.config.js:
module.exports = {
setupFiles: ['<rootDir>/mock-extension-apis.js']
};
En mock-extension-apis.js
, agrega implementaciones para las funciones específicas que esperas llamar:
mock-extension-apis.js:
global.chrome = {
tabs: {
query: async () => { throw new Error("Unimplemented.") };
}
};
Luego, usa jest.spy
para simular un valor que se muestra en una prueba:
test("getActiveTabId returns active tab ID", async () => {
jest.spyOn(chrome.tabs, "query").mockResolvedValue([{
id: 3,
active: true,
currentWindow: true
}]);
expect(await getActiveTabId()).toBe(3);
});
Próximos pasos
Para asegurarte de que la extensión funcione como se espera, te recomendamos agregar pruebas de extremo a extremo. Consulta Cómo probar las extensiones de Chrome con Puppeteer para ver un instructivo completo.