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

168
Views
Django_db marca para pruebas parametrizadas de django

He estado aprendiendo Django durante las últimas semanas e intenté usar los accesorios de parametrización y las funciones de prueba y, por lo que entendí, simplemente puedo ejecutar varias pruebas a la vez. Con la prueba parametrizada estoy tratando de probar funciones, que se encuentran en todos los modelos. Leí la documentación, pero lamentablemente, tan pronto como lo probé, recibí el siguiente mensaje de error Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. . Leí sobre el error y las posibles soluciones y lo que encontré fue crear un accesorio de uso automático y ponerlo en conftest.py :

 import pytest @pytest.fixture(autouse=True) def enable_db_access_for_all_tests(db): pass

Lamentablemente, este cambio no hizo ninguna diferencia y recibí exactamente el mismo error después de ejecutar la prueba. También intenté usar la marca django_db para otorgar acceso de prueba a la base de datos, pero tampoco pareció funcionar.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Me tomó un tiempo darme cuenta, pero lo anterior ESTABA "funcionando". Si miras de cerca el error, cambió. Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. todavía está allí, incorrectamente, pero también, para mí de todos modos, estaba ejecutando migraciones, lo que no quería que hiciera, y estaba fallando en alguna migración de datos anterior. Agregar --nomigrations al comando resolvió el problema para mí.

about 4 years ago · Santiago Trujillo Report

0

Cree un decorador @pytest.mark.django_db sobre la función en cuestión o también puede usar @pytest.mark.django_db(transaction=True), esto ayuda a pytest a decirle a Django que la función en cuestión requerirá acceso a la base de datos.

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!