Ich möchte meine Ansichten mit Daten von Postgres Localhost Datenbank (mit bereits geladenen Daten) zu testen. Ich verwende Tox mit Pytest und Pytest-Django.Wie man Tests im Django unter Verwendung der Datenbank mit Daten durchführt?
Meine Frage: Wie Einrichten/Herstellen einer Verbindung zur lokalen Datenbank, um alle Datenmodellschema und Daten selbst zu erhalten? Oder ist es besser, factory_boy zu verwenden? Oder um ganze Daten aus. SQL-Skript zu laden (wenn ja, wie)?
Beispiel meines Test:
def test_foo_view(custom_client_login):
response = custom_client_login.get('/foo/bar/123/')
assert response.status_code == 200
assert 'Transaction no. 123' in response.content
Aber statt Statuscode 200 bekomme ich 404 erhalten, die zeigt, dass keine Daten in Testdatenbank ist. Aber wenn ich runserver
Mittagessen und gehe zu dieser Ansicht ('localhost:8000/foo/bar/123/')
Ich werde Status 200 und HTML-Webseite mit einigen Daten erhalten.
Bitte helfen!
Ich verwende:
- Django == 1.7.11
- pytest == 3.0.6
- pytest-django == 3.1.2
- tox == 2.6.0
Verwenden Sie den Test Runner-Setup (def setUp) und eine Website erstellen, in der View Test – Jingo
@Jingo könnten Sie bitte etwas mehr über Ihre Antwort ausarbeiten benutzen? ist nicht def defUp mit unittest verwenden? – MichalTHEDUDE
https://docs.djangoproject.com/en/1.10/topics/testing/overview/ Werfen Sie einen Blick auf diese – Jingo