2017-04-18 4 views
1

Ich habe django in den letzten paar Wochen gelernt, und ich habe versucht, mit der Parametrierung Fixtures und Test-Funktionen und von dem, was ich verstanden habe, kann ich einfach mehrere Tests auf einmal. Mit dem parametrisierten Test versuche ich Funktionen zu testen, die in allen Modellen vorkommen. Ich lese die Dokumentation, aber leider, sobald ich es versuchte, bekam ich die folgende Fehlermeldung Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it.. Ich habe über den Fehler lesen und mögliche Korrekturen und was ich fand, war eine autouse Befestigung zu erstellen und sie in conftest.py:Django_db-Zeichen für django parametrisierte Tests

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

Leider diese Änderung 0 Unterschied gemacht und erhielt ich exakt den gleichen Fehler nach der Durchführung des Test . Ich habe auch versucht, das django_db-Zeichen zu verwenden, um den Testzugriff auf die Datenbank zu gewähren, aber das schien auch nicht zu funktionieren.

Antwort

0

Es dauerte eine Weile, bis ich es begriffen habe, aber das obige "funktionierte". Wenn Sie sich den Fehler genau ansehen, hat sich das geändert. Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. ist immer noch da, falsch, aber auch, für mich sowieso, es war laufen Migrationen, die ich nicht wollte, und es war auf einigen alten Daten Migration. Hinzufügen von --nomigrations zu dem Befehl löste das Problem für mich.

Verwandte Themen