Jest: [Pregunta] ¿Es Jest una buena opción para las pruebas unitarias de back-end?

Creado en 4 ago. 2016  ·  3Comentarios  ·  Fuente: facebook/jest

Me ha encantado Jest hasta ahora probando componentes de React.

Sin embargo, he usado / estado usando Mocha / Jasmine para probar backends de nodos, y solo quería preguntar si es posible (y recomendado) usar Jest para pruebas de backend, ya que no pude encontrar ninguna indicación de ello en los documentos (React , React-Native, Async, Webpack, es decir, no Node )

Intenté usarlo y desafortunadamente encontré un obstáculo instantáneo. brcypt activa una advertencia [SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random() y la prueba falla debido a un error de tiempo de ejecución ( TypeError: Path must be a string. Received undefined )

¿Es posible usar Jest para pruebas de backend en este momento, o no es parte del alcance del proyecto y algo como Jasmine encaja mejor?

Comentario más útil

¿Qué tipo de pruebas de backend estás intentando hacer? El propio Jest usa Jest para las pruebas y muchas bibliotecas usan Jest para las pruebas. ¿Puede proporcionar un repositorio en github que pueda usar para npm install y npm test que muestre su problema?

Recomiendo dos cosas: intente configurar "automock": false y "testEnvironment": "node" . Si sus otras pruebas se basan en esto, puede crear una configuración Jest separada y ejecutar jest con --config=pathToConfig.json y usar modulePathIgnorePatterns para ignorar las pruebas frontend.

Todos 3 comentarios

¿Qué tipo de pruebas de backend estás intentando hacer? El propio Jest usa Jest para las pruebas y muchas bibliotecas usan Jest para las pruebas. ¿Puede proporcionar un repositorio en github que pueda usar para npm install y npm test que muestre su problema?

Recomiendo dos cosas: intente configurar "automock": false y "testEnvironment": "node" . Si sus otras pruebas se basan en esto, puede crear una configuración Jest separada y ejecutar jest con --config=pathToConfig.json y usar modulePathIgnorePatterns para ignorar las pruebas frontend.

¡Gracias por la rápida respuesta @cpojer!

¡Me alegra saber que Jest se puede usar con Node! Estaba pensando que lo haría, ya que es esencialmente una biblioteca de prueba y la API debería funcionar, pero sentí la necesidad de preguntarlo, especialmente porque casi no hay recursos en línea que muestren que se usa con backends de Node y principalmente con react (o mi Google-Fu simplemente no era lo suficientemente bueno).

Ya me estaba burlando de mi node_modules así que ese no era el caso, ¡pero testEnvironment: node funcionó!

¡Salud!

Sí, el entorno predeterminado ( jsdom ) no siempre se presta bien a las pruebas de nodos. Otro beneficio es que el env del nodo se cargará 500ms más rápido (instantáneamente de manera efectiva) porque jsdom es un poco lento.

¿Fue útil esta página
0 / 5 - 0 calificaciones