Przewodnik testowania¶
Przewodnik po pisaniu i uruchamianiu testów w Weeb CLI.
Struktura testów¶
Testy znajdują się w katalogu tests/:
tests/
├── __init__.py
├── conftest.py # Fixtures Pytest
├── test_providers.py # Testy dostawców
├── test_cache.py # Testy cache
├── test_database.py # Testy bazy danych
└── ...
Uruchamianie testów¶
Wszystkie testy¶
Konkretny plik testowy¶
Konkretny test¶
Z pokryciem¶
Zobacz pokrycie: open htmlcov/index.html
Pisanie testów¶
Test podstawowy¶
Używanie fixtures¶
def test_with_fixture(temp_dir):
# temp_dir dostarczony przez conftest.py
file_path = temp_dir / "test.txt"
assert file_path.parent.exists()
Mockowanie¶
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"
Kategorie testów¶
Testy jednostkowe¶
Testuj pojedyncze funkcje:
Testy integracyjne¶
Testuj interakcję komponentów:
def test_provider_search():
provider = get_provider("animecix")
results = provider.search("test")
assert len(results) > 0
Testy end-to-end¶
Testuj kompletne przepływy pracy (używaj oszczędnie).
Najlepsze praktyki¶
- Jedna asercja na test, gdy to możliwe
- Używaj opisowych nazw testów
- Mockuj zewnętrzne zależności
- Sprzątaj zasoby
- Testuj przypadki brzegowe
Następne kroki¶
- Wkład: Przewodnik wkładu
- Architektura: Projekt systemu