tengo archivos de la siguiente manera
widgets | --tabs | -- __mocks_ | -- index.ts -- index.ts --button | -- __mocks_ | -- index.ts -- index.tsEs importado/usado en archivos como
import { Button } from 'common/widgets/button';Puedo burlarme individualmente de cada uno de estos.
jest.mock('common/widgets/tabs'); jest.mock('common/widgets/button');Pero, ¿hay alguna manera de burlarse de todos ellos, como agregarlos todos a un archivo e importarlos o hacer lo siguiente con una carpeta simulada común y un archivo de índice?
jest.mock('common/widgets');Puede hacerlo de esta manera (PS Todas las funciones y las llamadas a funciones son solo para demostración:
Estructura de carpetas
widgets/botón/index.js
// demonstration const someFunction = () => { console.log("widgets/button") } export default someFunction;widgets/pestañas/index.js
// demonstration const someFunction = () => { console.log("widgets/tabs") } export default someFunction;widgets/index.js
export { default as Button } from './button/index'; export { default as Tabs } from './tabs/index';-- Uso Puede importar las funciones como importación con nombre en cualquier archivo. EG: /cualquiera/archivo.js
import { Button, Tabs } from 'common/widgets' ...Por lo tanto, debería poder importarlos en un solo archivo simulado.
simulacro/index.js
jest.mock('common/widgets');Cuando importamos cualquier módulo en el archivo de prueba, jest verifica si hay una implementación simulada de ese módulo presente en el directorio ./__mocks__ o no. Si jest lo encuentra, jest simplemente se burlará de ese módulo.
Aquí, en su caso, ya tiene módulos simulados en sus directorios ./__mocks__ . No necesita jest.mock() api para simular sus módulos.
Jest mock está destinado a simular módulos, no directorios que contienen módulos.