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ß. 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. 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>. 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. 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. 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: 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 *} {* ../../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): 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. ... 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. 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: 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: 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>. 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. 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"> <div class="termy">

Loading…
Cancel
Save