pytest-inkrementell er en inkrementell test runner (pytest plugin).
Hva er en "inkrementell test runner"?
Når man snakker om bygge-verktøy er det vanlig å henvise til vilkårene:
- Første (full) build - alle filene er kompilert
- Inkrementell bygge (eller delvis gjenoppbygge) - kun endrede filer blir kompilert
- No-op build - ingen filer kompilert (ingen endret siden forrige utførelse)
Så en "inkrementell test runner" vil bare re-utføre testene som ble påvirket av endringer i kildekoden siden forrige test.
Hvordan fungerer det?
pytest-inkrementell er en pytest plugin. Så hvis du kan kjøre test suite med pytest du kan bruke pytest-inkrementell.
Programtillegget vil analysere dine python kildefiler og gjennom sin import definere avhengig av modulene. doit brukes til å holde styr på avhengigheter og lagre resultatene. Programtillegget vil endre hvordan pytest samle testene. pytest gjøre resten av jobben med å faktisk kjøre testene og rapportering av resultatene.
Installer:
pytest-inkrementell er testet på python 2.6, 2.7.
Pip installere pytest-incremental`
python setup.py installere
lokal installasjon
Du kan også bare ta plugin-modulen filen og sette i prosjekt banen. Deretter aktivere den (sjekk pytest docs).
Bruk:
Bare passere parameter --incremental når du ringer fra kommandolinjen:
py.test --incremental
Du kan også aktivere den som standard å legge til følgende linje i din pytest.ini:
[Pytest]
addopts = --incremental
overvåket pakker
Som standard alle modulene samlet av pytest vil brukes som avhengig om importert. For å begrense eller utvide overvåkede mapper du må bruke parameter --watch-pkg
Krav
- Python
Begrensninger
- fra pakken import * moduler importert fra __all__ i en pakke regnes ikke som en avhengighet
- moduler importerte ikke bruke import uttalelse
- moduler ikke explictitly importert, men brukes under kjøring (dvs. conftest.py når du kjører testene med pytest)
- ape-patching. (Dvs. en import X. B ape-patcher X. I dette tilfellet En kan avhenge B)
Kommentarer ikke funnet