Junior — Middle
Koja je razlika između ključnih reči Yield i Return u kontekstu testiranja sa PyTest?
sobes.tech АИ
Одговор од АИ
U kontekstu PyTest, ključne reči yield i return koriste se u fixture-ima, ali imaju različite uloge.
-
returnjednostavno vraća vrednost iz fixture-a, koja će biti dostupna testu. -
yieldse koristi za deljenje fixture-a na dva dela: preyield— priprema, posleyield— kod za čišćenje (teardown). Ovo omogućava izvršavanje radnji nakon testa, kao što je oslobađanje resursa.
Primer fixture-a sa yield:
import pytest
@pytest.fixture
def resource():
# priprema
res = acquire_resource()
yield res
# čišćenje
release_resource(res)
Ako se koristi return, kod nakon njega neće biti izvršen i čišćenje se neće automatski desiti.
Ukratko, yield u fixture-ima PyTest omogućava jednostavno upravljanje životnim ciklusom resursa, dok return samo vraća vrednost.