Middle
Kas ir dekoratori Python un kur tie tiek izmanto testos?
sobes.tech AI
Atbilde no AI
Python dekoratori ir ir funkcijas, kas pieņem citu funkciju un atgriež jaunu funkciju ar paplašinātu uzvedību, nemainot avota kodu.
Testos dekoratori bieži tiek izmantoti:
- Koda atkārtotai lietošanai (piemēram, vides iestatīšanai pirms testa).
- Testu izpildes laika reģistrēšanai vai mērīšanai.
- Testu izlaist, ja ir noteikti nosacījumi.
Piemērs, kā izmantot dekoratoru, lai izlaistu testu, ja nosacījums nav izpildīts:
import unittest
def skip_if_no_db(func):
def wrapper(*args, **kwargs):
if not check_db_connection():
raise unittest.SkipTest("Nav savienojuma ar datu bāzi")
return func(*args, **kwargs)
return wrapper
class MyTests(unittest.TestCase):
@skip_if_no_db
def test_query(self):
# tests, kas prasa datu bāzi
pass
Tādējādi dekoratori palīdz padarīt testus elastīgākus un lasāmākus.