Ich möchte eine Vorrichtung für meine Selen-Tests laden. Die Verwendung von Fixtures war in meinen ersten Tests erfolgreich, daher weiß ich, dass ich in der Lage bin, die Fixtures in meinen Testaufbau zu laden und sie in meinen Tests zu verwenden. Ich habe mehrere Ansätze versucht. Zuerst generierte ich Fixtures, die spezifisch für die Modelle waren, die ich mit dumpdata getestet habe. Ein Beispiel ist unten:Integritätsfehler beim Laden von Scheinwerfern für Selen-Test in Django
python manage.py dumpdata protocols.Step --indent=2 > functional_tests/fixtures/step.json
Wenn sie als so in meinem Test verwendet:
class SignInTest(FunctionalTest):
fixtures = ['admin_user.json', 'protocol.json', 'step.json',
'protocol_element.json']
def test_login_and_view_user_data(self):
...
ich Fehler:
django.db.utils.IntegrityError: Problem installing fixtures: The row in table 'protocols_protocolelement' with primary key '37' has an invalid foreign key: protocols_protocolelement.element_content_type_id contains a value '41' that does not have a corresponding value in django_content_type.id.
Zweiter Versuch, alle Testdaten in meinen Tabellen beteiligt verwenden, aber ausschließlich contenttypes:
python manage.py dumpdata --indent=2 -e contenttypes > functional_tests/fixtures/initial_data.json
class SignInTest(FunctionalTest):
fixtures = ['initial_data.json']
...
Erhalten Sie den Fehler:
django.db.utils.OperationalError: Problem installing fixture '.../mike/mike/functional_tests/fixtures/initial_data.json': Could not load auth.Permission(pk=103): no such table: auth_permission
Als nächstes habe ich versucht, mit natürlichen, die natürlichen Schlüssel zeigen:
python manage.py dumpdata --natural -e contenttypes -e auth.Permission --indent=2 > functional_tests/fixtures/initial_data2.json
Nur um den Fehler zu erhalten:
django.db.utils.OperationalError: Problem installing fixture '.../mike/mike/functional_tests/fixtures/initial_data.json': Could not load auth.User(pk=1): no such table: auth_user
Noticing natürliche abgeschrieben wurde ich versuchte, --natürlich-fremd und wollte Benutzer- und Berechtigungsmodelle einschließen (ich benötige sowieso Contenttypen für meine Modelle):
Nur um den Fehler zu erhalten:
django.db.utils.IntegrityError: Problem installing fixture '.../mike/mike/functional_tests/fixtures/initial_data3.json': Could not load contenttypes.ContentType(pk=35): UNIQUE constraint failed: django_content_type.app_label, django_content_type.model
Also, alle Ideen auf, wie das Gerät zu laden, so kann ich meine Tests ausführen? Gibt es etwas Einfaches, das mir fehlt? Vielen Dank!