Junior — Middle
90
Meg tudná magyarázni a mockolás fogalmát a szoftvertesztelésben?
Válasz az MI-től
sobes.tech MI
A mocking egy tesztelési technika, ahol a valódi függőségek (például osztályok, szolgáltatások, adatbázisok) helyett speciális objektumokat — mockokat — használnak. Ezek utánozzák a valódi komponensek viselkedését, lehetővé téve a tesztelt kód izolálását és a környezetének kontrollálását.
A mocking fő céljai:
- A tesztelt modul izolálása külső függőségektől.
- A függőségek viselkedésének irányítása (például, egy metódus visszatérési értékének beállítása).
- Annak ellenőrzése, hogy a tesztelt kód hogyan lép kölcsönhatásba a függőségekkel (meghívta-e a szükséges metódusokat, milyen paraméterekkel).
Pythonban a mockinghez gyakran a unittest.mock könyvtárat használják:
from unittest.mock import Mock
def fetch_data(api_client):
response = api_client.get('/data')
return response.json()
# A tesztben
mock_api = Mock()
mock_api.get.return_value.json.return_value = {'key': 'value'}
eredmeny = fetch_data(mock_api)
assert eredmeny == {'key': 'value'}