Ich habe einen Django-Test, der auf eine Webseite unter Verwendung der Django test client zugreift.django.test.Client und response.content vs streaming_content
In einem der Tests gibt der Server eine ZIP-Datei als Anhang zurück. Ich greife auf den Inhalt der ZIP-Datei mit dem folgenden Code:
zip_content = StringIO(response.content)
zip = ZipFile(zip_content)
Dies bewirkt, dass die folgenden deprecation Warnung:
D:/Entwicklung/Archäologie/DB/ArtefactDatabase/Webserver \ export \ Tests \ test_import.py:1: DeprecationWarning: Der Zugriff auf das Attribut
content
für eine Streaming-Antwort ist veraltet. Verwenden Sie das Attributstreaming_content
instead.`
response.streaming_content
kehrt eine Art Karte, die definitiv nicht ein dateiähnliche Objekt ist, das für ZipFile
erforderlich ist. Wie kann ich das Attribut streaming_content
dafür verwenden?
Übrigens, ich bekomme nur die Verwarnungswarnung bei der Übergabe response.content
an eine StringIO
, wenn ich auf den response.content einer normalen HTML-Seite zugreifen, gibt es keine Warnung.
Der Zweck eines Integrationstests besteht darin, den Aufruf und sein Ergebnis auf Korrektheit zu testen. Es ist nicht ausreichend zu sagen, dass der Test erfolgreich ist, ohne zu überprüfen, ob der Inhalt der Antwort korrekt ist. – Risadinha