44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
# Testing & Qualitätssicherung
|
|
|
|
Dieses Projekt nutzt automatisierte Integrationstests, um die Stabilität der Microservices sicherzustellen. Alle Tests sind so konzipiert, dass sie **innerhalb** der Docker-Container laufen und externe Abhängigkeiten (KI-APIs) mocken.
|
|
|
|
## 🚀 Alle Tests ausführen
|
|
|
|
Führen Sie die folgenden Befehle auf dem Host-System aus, um die jeweilige Test-Suite zu starten:
|
|
|
|
### 1. Company Explorer (Intelligence Core)
|
|
```bash
|
|
docker exec company-explorer /app/run_tests.sh
|
|
```
|
|
|
|
### 2. SuperOffice Connector (CRM Sync)
|
|
```bash
|
|
docker exec connector-superoffice /app/run_tests.sh
|
|
```
|
|
|
|
### 3. Lead Engine (Trading Twins)
|
|
```bash
|
|
docker exec lead-engine /app/run_tests.sh
|
|
```
|
|
|
|
### 4. B2B Marketing Assistant (Analysis)
|
|
```bash
|
|
docker exec b2b-marketing-assistant /app/run_tests.sh
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠️ Test-Architektur
|
|
|
|
* **Framework:** `pytest`
|
|
* **API-Testing:** `httpx` & `FastAPI TestClient`
|
|
* **Datenbank:** SQLite In-Memory (oder temporäre Datei-DB)
|
|
* **Mocking:** `unittest.mock` wird verwendet, um Aufrufe an Gemini/OpenAI zu simulieren.
|
|
|
|
## 📝 Neue Tests hinzufügen
|
|
|
|
Um neue Tests für einen Dienst zu erstellen:
|
|
1. Erstellen Sie eine Datei in `service-name/tests/test_*.py`.
|
|
2. Stellen Sie sicher, dass das `run_tests.sh` Skript im Dienst-Ordner diese Datei inkludiert.
|
|
3. Kopieren Sie die Datei ggf. in den Container (`docker cp`).
|