Sobes.tech
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'}