test redaccion prueba para ortografia imprimir examen ejercicios con avanzado adultos jestjs flowtype

jestjs - redaccion - ¿Cuál es la forma correcta de escribir pruebas de Jest verificadas con Flow?



test de ortografia para imprimir (4)

Me imagino que las personas comúnmente usan Flow y Jest (y React) juntas, pero Flow no parece saber sobre Jest (o Jasmine) globales. Cuando agrego // @flow a mis pruebas, obtengo errores de flujo como este:

src/__tests__/Thing-test.js:3 3: jest.unmock(''../Thing'') ^^^^ identifier `jest`. Could not resolve name src/__tests__/Thing-test.js:7 7: describe(''Thing'', () => { ^^^^^^^^ identifier `describe`. Could not resolve name src/__tests__/Thing-test.js:8 8: it(''does stuff'', () => { ^^ identifier `it`. Could not resolve name

Podría escribir una interfaz de Flow para Jest / Jasmine, pero parece largo y me falta algo. Dejar que Flow process node_modules/jest-cli no parezca ayudar.


Aunque Jest está escrito con anotaciones de flujo, ellos tiran los tipos para la versión npm, así que no necesitamos babel para ejecutarlo. Afortunadamente, los tipos ya están en flow-type, por lo que la solución es bastante sencilla (tal como se menciona en el comentario):

npm install -g flow-typed flow-typed install [email protected] # <-- replace the version with the latest

Aunque tuve que agregar esta línea también a mi .eslintrc.json :

{ "env": { "jest": true } }


Creo que declare var jest: any; debería hacer el truco (póngalo en la parte superior de cada archivo de prueba, o en algún lugar en su directorio de flujo lib).


La respuesta aceptada no funciona si usa Create-React-App . A continuación, le indicamos cómo establecería una broma con CRA:

1. Instalar flujo en su proyecto

Si usa create-reat-app, here hay una guía para este paso.

yarn add -D flow-bin yarn run flow init

2. Instalar tipos de flujo de broma

npx flow-typed install jest@22 // maybe you need a different version

(Puede usar npx jest -v para verificar su versión de broma si usa create-react-app).

3. Registrar el flujo-tipado en la configuración

En su .flowconfig , agregue la sección flow-typed to libs.

... [libs] flow-typed ...

Yo uso hilo, npm debería funcionar igual.


Si creó su proyecto con create-react-app, debe agregar manualmente bromas a sus packages.json. De lo contrario, flow-typed no instalará las definiciones de tipo necesarias porque create-react-app no ​​agrega esta dependencia a packages.json.

yarn add --dev jest flow-typed install