Mi aplicación usa el objeto de la ventana para inyectar variables ambientales en tiempo de ejecución para la ventana acoplable, sin embargo, mis pruebas regresan con el siguiente error:
configuración de URL:
declare const window: Window & typeof globalThis & { _env_: any } export const url = window._env_.REACT_APP_API_URL; export const baseUrl = url;error en las pruebas ya que los controladores usan la baseUrl, pero incluso si cambio los controladores a valores codificados, aparece el siguiente error:
● El conjunto de pruebas no pudo ejecutar TypeError: no se pueden leer las propiedades de undefined (leyendo 'REACT_APP_API_URL')
4 | } 5 | > 6 | export const url = window._env_.REACT_APP_API_URL; | ^ 7 | export const baseUrl = url;setupTests.tsx
// jest-dom adds custom jest matchers for asserting on DOM nodes. // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom import '@testing-library/jest-dom'; import { setLogger } from 'react-query' import { server } from './mocks/server' declare const window: Window & typeof globalThis & { _env_: any } window._env_.REACT_APP_API_URL = "https://wwww.xxxxx.com" beforeAll(() => server.listen()) // Reset any request handlers that we may add during the tests, // so they don't affect other tests. afterEach(() => server.resetHandlers()) // Clean up after the tests are finished. afterAll(() => server.close()) // silence react-query errors setLogger({ log: console.log, warn: console.warn, error: () => {}, })¿Algunas ideas? Entonces, donde sea que haya una llamada api, obtengo este error en las pruebas para broma/Reaccionar.
puedes burlarte de la window global var
test/setup.js
window.env. REACT_APP_API_URL = 'something'; entonces necesita agregar el archivo package.json
"jest": { "setupFiles": [ "./test/setup.js" ],O
puede definir var global en CLI como este
npm run jest -- --globals='{"window": "someUrl", "value": "someValue"}'