Test-Leitfaden¶
Leitfaden zum Schreiben und Ausführen von Tests in Weeb CLI.
Test-Struktur¶
Tests befinden sich im Verzeichnis tests/:
tests/
├── __init__.py
├── conftest.py # Pytest-Fixtures
├── test_providers.py # Provider-Tests
├── test_cache.py # Cache-Tests
├── test_database.py # Datenbank-Tests
└── ...
Tests ausführen¶
Alle Tests¶
Spezifische Testdatei¶
Spezifischer Test¶
Mit Coverage¶
Coverage anzeigen: open htmlcov/index.html
Tests schreiben¶
Basis-Test¶
Fixtures verwenden¶
def test_with_fixture(temp_dir):
# temp_dir von conftest.py bereitgestellt
file_path = temp_dir / "test.txt"
assert file_path.parent.exists()
Mocking¶
from unittest.mock import Mock, patch
def test_with_mock():
with patch('module.function') as mock_func:
mock_func.return_value = "mocked"
result = call_function()
assert result == "mocked"
Test-Kategorien¶
Unit-Tests¶
Einzelne Funktionen testen:
Integrationstests¶
Komponenteninteraktion testen:
def test_provider_search():
provider = get_provider("animecix")
results = provider.search("test")
assert len(results) > 0
End-to-End-Tests¶
Vollständige Workflows testen (sparsam verwenden).
Best Practices¶
- Wenn möglich eine Assertion pro Test
- Beschreibende Testnamen verwenden
- Externe Abhängigkeiten mocken
- Ressourcen aufräumen
- Grenzfälle testen
Nächste Schritte¶
- Beitragen: Beitragsleitfaden
- Architektur: Systemdesign