Estoy probando reductores y almacenamiento . Leí el manual de reacción del tutorial de jest y es un poco diferente al mío, pero también encontré información de que la "prueba de scripts de reacción" también debería funcionar
paquete.json
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "dependencies": { "@testing-library/jest-dom": "^5.16.1", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", "classnames": "^2.3.1", "faker": "^4.1.0", "jest": "^27.4.7", "miragejs": "^0.1.43", "react": "^17.0.2", "react-dom": "^17.0.2", "react-scripts": "5.0.0", "redux": "^4.1.2", "seedrandom": "^3.0.5", "web-vitals": "^2.1.3" }, "devDependencies": { "jest-watch-typeahead": "^0.6.5", "prettier": "^2.5.1" }Comandos
npm test npm test --config jest.config.js npm test --setupFile ./src/setupTests.js npm test --setupFiles ./src/setupTests.jsProducción
Active Filters: filename .\\src\\setupTests.js/ › Press c to clear filters. Watch Usage › Press a to run all tests. › Press f to run only failed tests. › Press o to only run tests related to changed files. › Press q to quit watch mode. › Press p to filter by a filename regex pattern. › Press t to filter by a test name regex pattern. › Press Enter to trigger a test run.Al pulsar "a",
No tests found, exiting with code 0 Watch Usage: Press w to show more../jest.config.js
// Sync object /** @type {import('@jest/types').Config.InitialOptions} */ const config = { setupFiles: ['./src/setupTests.js'], verbose: true, }; module.exports = config;./src/setupTests.js
import '@testing-library/jest-dom/extend-expect'; test('adds 1 + 2 to equal 3', () => { expect(1 + 2).toBe(3); });Esto es lo que dice la documentación de Jest sobre cómo encuentra los archivos de prueba:
De forma predeterminada, busca archivos
.js,.jsx,.tsy.tsxdentro de las carpetas__tests__, así como cualquier archivo con el sufijo.testo.spec(por ejemploComponent.test.jsoComponent.spec.js) . También encontrará archivos llamadostest.jsospec.js
Dado que el nombre de archivo setupTests.js no cumple con este criterio, Jest no lo reconoce como un archivo de prueba. Si cambia el nombre del archivo para que termine con .test.js o lo mueve a una carpeta __tests__ , Jest debería poder encontrarlo y ejecutar la prueba. Si necesita mantener el nombre del archivo como está, este comportamiento predeterminado se puede cambiar configurando testRegex en jest.config.js (lea más sobre esta configuración aquí ).
La propiedad setupFiles en jest.config.js se usa para configurar el entorno antes de que se ejecuten las pruebas. La documentación para esa configuración se puede encontrar aquí , pero no parece ser necesario realizar ninguna configuración para este código basado en casos que proporcionó.