Esta guía explica cómo preparar el entorno y ejecutar las pruebas automatizadas del proyecto.
Asegúrate de instalar las dependencias básicas antes de ejecutar las pruebas:
pip install -r requirements.txt # instala Flask, filelock y demás paquetes de Python
npm ci # instala Puppeteer y el resto de dependencias de Node
composer install # genera `vendor/bin/phpunit`Si por algún motivo no se crea el binario de PHPUnit, ejecuta:
composer require --dev phpunit/phpunit-
Prepara el entorno de desarrollo. Puedes ejecutar
scripts/setup_environment.shpara instalar todo de forma automática o instalar cada grupo de dependencias manualmente:pip install -r requirements.txt npm install composer install
Esto asegura que las librerías de Python, las dependencias de Node (incluido
puppeteer) yphpunitestén disponibles. -
Compila los estilos de CSS. El script
npm run buildahora ejecuta PostCSS con Autoprefixer tras compilar Tailwind y Sass:npm run build
Esto generará
assets/css/custom.csscon los prefijos necesarios para los navegadores soportados. -
Si vas a ejecutar la suite de interfaz, abre otro terminal y arranca un servidor PHP local:
php -S localhost:8080- Ejecuta las pruebas de PHP:
vendor/bin/phpunit- Ejecuta las pruebas de Python:
- Solo la suite de la interfaz de grafo:
python -m unittest tests/test_graph_db_interface.py- Comprobar que todas las traducciones contienen las mismas claves:
python -m unittest tests/test_translation_keys.py- Toda la batería de pruebas de Python:
python -m unittest discover -s tests- Ejecuta las pruebas de interfaz con Puppeteer:
npm run test:puppeteer- Ejecuta la batería de Playwright en los navegadores Chromium, Firefox y WebKit:
npm run test:playwrightLas pruebas de PHP necesitan la interfaz php-cgi y la extensión pdo_pgsql para acceder a la base de datos de pruebas. Instálalas con:
sudo apt-get install php-cgi php-pgsql php-xmlAdemás asegúrate de que un servidor de PostgreSQL esté disponible y las
credenciales se definan en .env antes de lanzar PHPUnit.
Antes de lanzar la suite de interfaz instala las dependencias de Node. Ejecuta:
npm installo bien lanza scripts/setup_environment.sh, que realiza la misma instalación.
Consulta las opciones del script en script_catalog.md.
./scripts/run_accessibility_audit.shSi necesitas ejecutar las pruebas en un entorno sin acceso a Internet, descarga
los paquetes indicados en requirements.txt y guárdalos en el directorio
vendor/python-deps/:
pip download -d vendor/python-deps -r requirements.txtAl lanzar setup_environment.sh se detectará el contenido de esa carpeta y se
ejecutará pip install --no-index --find-links vendor/python-deps -r requirements.txt para instalar desde esos archivos locales.
- Si al ejecutar
npm run test:puppeteerobtienes un TimeoutError, comprueba que tienes un servidor PHP en marcha con:
php -S localhost:8080- Si las dependencias fallaron al instalarse, consulta script_catalog.md para volver a ejecutar el script de preparación.
- Si Puppeteer informa que no se encuentra Chromium, ejecuta
npm installpara reinstalar las dependencias.
-
vendor/bin/phpunit: 34 tests executed with 3 errors and 19 failures. Tras instalarphp-cgiypdo_pgsqllas pruebas que requieren conexión a PostgreSQL siguieron fallando porque la base de datos no estaba disponible. -
python -m unittest: todas las pruebas pasaron. -
npm run test:puppeteer: la suite falló por un tiempo de espera mientras esperaba#google_translate_element.
Consulta la sección Solucion de problemas para intentar corregir estos fallos.