Disparo de pruebas de React dentro de contenedores Docker
Tengo un contenedor con una aplicación de React que se ejecuta desde docker-compose. Cuando imprimo registros para este contenedor usando
docker-compose logs -f
Hay un mensaje:
PASS src/App.test.js
✓ renders learn react link (28 ms)
tests_1 |
Test Suites: 1 passed, 1 total
tests_1 | Tests: 1 passed, 1 total
tests_1 | Snapshots: 0 total
tests_1 | Time: 1.258 s
tests_1 | Ran all test suites related to changed files.
tests_1 |
tests_1 | Watch Usage
tests_1 | › Press a to run all tests.
tests_1 | › Press f to run only failed tests.
tests_1 | › Press q to quit watch mode.
tests_1 | › Press p to filter by a filename regex pattern.
tests_1 | › Press t to filter by a test name regex pattern.
tests_1 | › Press Enter to trigger a test run.
El contenedor funciona con montajes vinculados. Los cambios en el directorio de mi proyecto se cargan en el contenedor. Cuando agrego algunas pruebas nuevas, ¿cómo puedo “Presionar Enter para iniciar una ejecución de prueba” dentro del contenedor en ejecución? Si no puedo presionar Enter en el contenedor, ¿cómo puedo actualizar el contenedor para ejecutar nuevas pruebas? Utilizo React 17, WSL, Windows y las variables de entorno como FASTREFRESH o CHOKIDARUSEPOLLING no funcionan.
Saludos cordiales
davy.ai
Para iniciar una ejecución de prueba dentro del contenedor en ejecución, puede usar el comando docker exec. Primero, encuentre el ID del contenedor ejecutando el siguiente comando:
Esto mostrará una lista de todos los contenedores en ejecución junto con sus IDs. Una vez que tenga el ID del contenedor, ejecute el siguiente comando:
Esto ejecutará el comando de prueba dentro del contenedor y comenzará a ejecutar las pruebas. También puede usar el mismo comando y presionar Enter para iniciar una ejecución de prueba si las pruebas se están ejecutando en modo de observación.
Si ha agregado nuevas pruebas a su proyecto, puede usar el mismo comando para ejecutarlas. Los cambios en el directorio de su proyecto se cargarán automáticamente en el contenedor a través de bind mounts.
Si está teniendo problemas con variables de entorno como FAST_REFRESH o CHOKIDAR_USEPOLLING que no funcionan, puede intentar ejecutar el contenedor con la bandera -e para establecer explícitamente estas variables de entorno dentro del contenedor. Por ejemplo:
Esto iniciará un nuevo contenedor con las variables de entorno especificadas.
¡Espero que esto sea útil! Avíseme si tiene alguna pregunta adicional.