Infrastruktura pytest-odoo
Mapa vsebuje skupno infrastrukturo pytest Odoo 18, ki jo uporabljajo izvajalniki PMIVerse. To so izvedbena navodila, ne nadomestilo kanonične politike testiranja.
Vsebina
pmiverse_odoo_addons.pyrazširiodoo.addons.__path__iz aktivne konfiguracije Odoo samo za zbiranje testov izvajalnika.pmiverse_pytest_base.pyzagotavlja skupno vedenje pytest.conftest.base.pyje izvorna predloga zatests/conftest.pydodatkov.pytest.base.inije izvorna predloga repozitorijske konfiguracije pytest.coverage.addon.rcvsebuje skupne nastavitve pokritosti.templates/vsebuje predloge testnega paketa, pripravljalnih podatkov in osnovnih preizkusov.
Datoteke kopirajo ali nalagajo skripte v ../../scripts/test/. Testi infrastrukture so v ../../tests/.
Pogodba izvajalnika
Izvajalnik enega dodatka pripravi začasno bazo, namesti ciljni dodatek, izklopi samodejno nalaganje vtičnikov, izrecno naloži pytest-odoo in prednostno zbira prek odoo.addons.<addon>.tests. Testi znotraj pytest ne smejo nameščati, odstranjevati ali posodabljati modulov.
Izbirne integracijske aplikacije navedite v tests/odoo_dependencies.txt, po eno ime dodatka Odoo na vrstico. Prazne vrstice in celovrstični komentarji # so dovoljeni. Izvajalnik enega dodatka in njegov repozitorijski klicatelj samodejno namestita te testne odvisnosti pred pytest, samo v začasnih bazah test_*. Izbirnih aplikacij ne dodajajte v produkcijski manifest samo zaradi testov.
Map dodatkov Odoo ne dodajajte neposredno v PYTHONPATH; dodatek, kot je calendar, lahko zasenči standardno knjižnico Python. V izvor dodatkov ne dodajajte vzdevkov sys.modules za zbiranje. Posebni vtičnik imenskega prostora izvajalnika preprečuje oba vzorca.
Testi dodatkov sodijo v <addon>/tests/, pri ORM uporabljajo pripravljalnik okolja Odoo in registrirano oznako pytest Odoo. Osnovni preizkusi preverjajo nameščenost in dostopnost vnaprej pripravljenega dodatka; ne nameščajo ga sami.
Zagon testov
Običajno uporabite izvajalnike PMIVerse namesto neposrednega pytest ali odoo-bin:
../../docs/scripts/run_pytest_addon.md: en dodatek.../../docs/scripts/run_pytest_repo.md: omejeni večmodulni izbor in širši repozitorijski način.../../docs/scripts/ensure_testing_scaffold.md: namestitev predlog v repozitorije dodatkov.
Izvajalniki ustvarjajo in lahko brišejo baze PostgreSQL. Uporabite začasna imena s predpono test_ in izberite samo obravnavane dodatke. Zagon celotnega repozitorija zahteva izrecno odobritev po kanonični politiki PMIVerse.
Ustvarjena .pytest_cache/ in __pycache__/ sta lokalna artefakta in se ne vključujeta v Git.