Las pruebas de unidades permiten probar secciones pequeñas de código de forma independiente 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 APIs de extensión se puede probar de forma normal con un framework como Jest. Para que el código sea más fácil de probar de esta manera, considera usar técnicas como inserción de dependencias, que puede ayudar a quitar dependencias en Chrome de Terraform en tu implementación de nivel inferior.
Si necesitas probar código que incluye APIs de extensiones, 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 de retorno 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 tu extensión funcione según lo esperado, te recomendamos que agregues pruebas de extremo a extremo. Consulta Cómo probar extensiones de Chrome con Puppeteer para obtener un instructivo completo.