Browse Source

Update tutorial/testing.md

pull/14015/head
Nils Lindemann 2 weeks ago
parent
commit
b9b80e3989
  1. 32
      docs/de/docs/tutorial/testing.md

32
docs/de/docs/tutorial/testing.md

@ -1,4 +1,4 @@
# Testen
# Testen { #testing }
Dank <a href="https://www.starlette.io/testclient/" class="external-link" target="_blank">Starlette</a> ist das Testen von **FastAPI**-Anwendungen einfach und macht Spaß.
@ -6,13 +6,17 @@ Es basiert auf <a href="https://www.python-httpx.org" class="external-link" targ
Damit können Sie <a href="https://docs.pytest.org/" class="external-link" target="_blank">pytest</a> direkt mit **FastAPI** verwenden.
## Verwendung von `TestClient`
## `TestClient` verwenden { #using-testclient }
/// info
/// info | Info
Um `TestClient` zu verwenden, installieren Sie zunächst <a href="https://www.python-httpx.org" class="external-link" target="_blank">`httpx`</a>.
Z. B. `pip install httpx`.
Erstellen Sie eine [virtuelle Umgebung](../virtual-environments.md){.internal-link target=_blank}, aktivieren Sie sie und installieren Sie es dann, z. B.:
```console
$ pip install httpx
```
///
@ -52,13 +56,13 @@ Wenn Sie in Ihren Tests neben dem Senden von Anfragen an Ihre FastAPI-Anwendung
///
## Tests separieren
## Tests separieren { #separating-tests }
In einer echten Anwendung würden Sie Ihre Tests wahrscheinlich in einer anderen Datei haben.
Und Ihre **FastAPI**-Anwendung könnte auch aus mehreren Dateien/Modulen, usw. bestehen.
### **FastAPI** Anwendungsdatei
### **FastAPI** Anwendungsdatei { #fastapi-app-file }
Nehmen wir an, Sie haben eine Dateistruktur wie in [Größere Anwendungen](bigger-applications.md){.internal-link target=_blank} beschrieben:
@ -75,7 +79,7 @@ In der Datei `main.py` haben Sie Ihre **FastAPI**-Anwendung:
{* ../../docs_src/app_testing/main.py *}
### Testdatei
### Testdatei { #testing-file }
Dann könnten Sie eine Datei `test_main.py` mit Ihren Tests haben. Sie könnte sich im selben Python-Package befinden (dasselbe Verzeichnis mit einer `__init__.py`-Datei):
@ -94,11 +98,11 @@ Da sich diese Datei im selben Package befindet, können Sie relative Importe ver
... und haben den Code für die Tests wie zuvor.
## Testen: erweitertes Beispiel
## Testen: erweitertes Beispiel { #testing-extended-example }
Nun erweitern wir dieses Beispiel und fügen weitere Details hinzu, um zu sehen, wie verschiedene Teile getestet werden.
### Erweiterte **FastAPI**-Anwendungsdatei
### Erweiterte **FastAPI**-Anwendungsdatei { #extended-fastapi-app-file }
Fahren wir mit der gleichen Dateistruktur wie zuvor fort:
@ -170,7 +174,7 @@ Bevorzugen Sie die `Annotated`-Version, falls möglich.
////
### Erweiterte Testdatei
### Erweiterte Testdatei { #extended-testing-file }
Anschließend könnten Sie `test_main.py` mit den erweiterten Tests aktualisieren:
@ -191,7 +195,7 @@ Z. B.:
Weitere Informationen zum Übergeben von Daten an das Backend (mithilfe von `httpx` oder dem `TestClient`) finden Sie in der <a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPX-Dokumentation</a>.
/// info
/// info | Info
Beachten Sie, dass der `TestClient` Daten empfängt, die nach JSON konvertiert werden können, keine Pydantic-Modelle.
@ -199,9 +203,11 @@ Wenn Sie ein Pydantic-Modell in Ihrem Test haben und dessen Daten während des T
///
## Tests ausführen
## Tests ausführen { #run-it }
Danach müssen Sie nur noch `pytest` installieren.
Danach müssen Sie nur noch `pytest` installieren:
Erstellen Sie eine [virtuelle Umgebung](../virtual-environments.md){.internal-link target=_blank}, aktivieren Sie sie und installieren Sie es dann, z. B.:
<div class="termy">

Loading…
Cancel
Save