pytest-incremental ay isang incremental test runner (pytest plugin).
Ano ang isang "incremental test runner"?
Kapag pakikipag-usap tungkol sa mga build-tools ito ay pangkaraniwan sa sumangguni sa mga tuntunin:
- Unang (full) build - lahat ng mga file ay naipon
- Incremental build (o bahagyang muling itayo) - lamang nagbago ang mga file ay naipon
- Hindi na-op build - walang mga file ay naipon (none nagbago mula noong huling pagpapatupad)
Kaya isang "incremental test runner" ay tanging muling isakatuparan pagsubok na ay apektado sa pamamagitan ng mga pagbabago sa source code mula noong huling pagsubok na pagpapatupad.
Paano ito gumagana?
pytest-incremental ay isang pytest plugin. Kaya kung maaari mong patakbuhin ang iyong mga test suite na may pytest maaari mong gamitin pytest-incremental.
Ang plugin ay susuriin ang iyong mga file source python at sa pamamagitan ng pag-import nito tukuyin ang dependencies ng modules. doit ay ginagamit upang subaybayan ang mga dependencies at i-save na mga resulta. Ang plugin ay baguhin kung paano pytest mangolekta ng iyong pagsusulit. pytest gawin ang magpahinga ng ang trabaho ng mga aktwal na tumatakbo ang pagsusuri at pag-uulat ng mga resulta.
I-install:
pytest-incremental ay nasubok sa python 2.6, 2.7.
PIP install pytest-incremental`
python setup.py install
lokal na pag-install
Maaari mo ring lang ang kukunin ang module plugin file at ilagay sa proyektong landas ang iyong. Pagkatapos paganahin ang mga ito (i-check pytest docs).
Paggamit ng:
Ipasa lang ang mga parameter --incremental kapag tumatawag mula sa command line:
py.test --incremental
Maaari mo ring paganahin ito sa pamamagitan ng default ang pagdaragdag ng sumusunod na linya sa iyong pytest.ini:
[Pytest]
addopts = --incremental
pinapanood packages
By default ang lahat ng mga module na nakolekta sa pamamagitan pytest ay ginagamit bilang dependencies kung import. Upang limitahan o pahabain ang pinapanood ng mga folder ay dapat na gamitin ang parameter --watch-pkg
Kinakailangan :
- sawa
Limitasyon :
- mula import package * modules import mula __all__ sa isang pakete ay hindi mabibilang bilang isang dependency
- modules import hindi gamit ang statement import
- modules hindi explictitly import ngunit ginagamit sa runtime (ie conftest.py kapag tumatakbo ang iyong mga pagsusulit sa pytest)
- unggoy-patching. (Ie A angkat X. B unggoy-patch X. Sa kasong ito A ay maaaring depende sa B)
Mga Komento hindi natagpuan