Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:archiv:m320:learningunits:lu97:theorie:lu5-kapitel_2 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu97:theorie:lu5-kapitel_2 [2026/08/30 14:09] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 74.7.243.195 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== 2. Integration Tests ===== | ||
| + | |||
| + | Integrationstests sind besonders relevant, wenn Sie Aufgaben an beteiligte Komponenten delegieren. | ||
| + | |||
| + | ==== Was sind Integration Tests? ==== | ||
| + | |||
| + | Bisher haben Sie hauptsächlich etwas über Unit Tests gelernt. Komponententests sind eine grossartige Möglichkeit, | ||
| + | |||
| + | Ein **Integration Test** prüft das Zusammenspiel von mehrerer Komponenten einer Anwendung. Dafür kann es erforderlich sein, sich wie ein Konsument oder Benutzer der Anwendung zu verhalten (Black-Box Test), indem Sie: | ||
| + | * eine HTTP-REST-API aufrufen | ||
| + | * eine Python-API aufrufen | ||
| + | * einen Webdienst aufrufen | ||
| + | * eine Befehlszeile ausführen | ||
| + | |||
| + | ==== Integration Tests bilden 2. Stufe der Testpyramide ==== | ||
| + | |||
| + | {{modul: | ||
| + | |||
| + | ==== Wie sind Integration Tests zu implementieren? | ||
| + | |||
| + | Jede dieser Arten von **Integration Tests** kann auf die gleiche Weise wie ein Komponententest geschrieben werden, indem dem // | ||
| + | |||
| + | Durch den Verbund von mehreren Komponenten sowie den erwähnten Seiteneffekten wird das **FIRST Principle** verletzt, das Sie aus dem Kapitel über Unit Testing kennen. Dieses Prinzip gilt daher nicht Integration Tests. Aus diesem Grund empfiehlt es sich, Komponententests und Integrationstests zu trennen. Die Erstellung von Vorrichtungen, | ||
| + | |||
| + | Eine einfache Möglichkeit, | ||
| + | |||
| + | < | ||
| + | project/ | ||
| + | │ | ||
| + | ├── my_app/ | ||
| + | │ | ||
| + | │ | ||
| + | └── tests/ | ||
| + | | | ||
| + | ├── unit/ | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | └── integration/ | ||
| + | ├── __init__.py | ||
| + | └── test_integration.py | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | Quellen: - [[https:// | ||