Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
Ejecute pruebas unitarias sin generar activos cuando use django-webpack-loader

Estoy trabajando en un proyecto de Django con cierta cantidad de código JavaScript de front-end. Estoy en el proceso de migrar el empaquetado y la minificación de JavaScript de djanog-pipeline a webpack con django-webpack-loader .

django-webpack-loader funciona ejecutando webpack por separado de cualquier proceso de Django para generar paquetes empaquetados. Django-webpack-loader luego leerá un archivo JSON escrito por webpack-bundle-tracker y usará la información para insertar las rutas correctas en las plantillas HTML.

Esto funciona sin problemas, pero hay un problema: algunas de nuestras pruebas unitarias accederán a la aplicación Django utilizando el cliente de prueba Django integrado, que genera respuestas HTML completas para que las pruebas puedan inspeccionar el resultado generado. La prueba se puede ejecutar sin que se haya realizado ninguna configuración relacionada con el paquete web. Por lo tanto, es posible que los paquetes empaquetados y el archivo JSON no existan. Estos no son necesarios para probar el código de interfaz, solo se inspecciona el HTML generado dinámicamente. Hacer que la prueba falle solo porque alguien olvidó ejecutar el paquete web genera frustración.

Idealmente, haría que django-webpack-loader solo use URL ficticias en las etiquetas <script> insertadas mientras ejecuta pruebas, eliminando la dependencia de los archivos generados por webpack. ¿Qué opciones tengo para resolver esta dependencia?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Y si desea hacerlo a un nivel superior para todas las pruebas realizadas por pytest , puede agregar a su conftest.py :

 @fixture(autouse=True) def no_webpack_loaded(monkeypatch): def mockreturn(loader, bundle_name): return [] monkeypatch.setattr(WebpackLoader, "get_bundle", mockreturn)
about 4 years ago · Santiago Trujillo Report

0

Puede parchear el cargador por completo para omitir cualquier cosa que django-webpack-loader pueda hacer:

 from mock import patch ... @patch('webpack_loader.loader.WebpackLoader.get_bundle') def test(self, mock_wpl, client): mock_wpl.return_value = [] response = client.get("/") assert response.status_code == 200
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!