Sobes.tech
Senior

Volt-e adatbázisokkal való interakció automatizált tesztek keretében?

sobes.tech MI

Válasz az MI-től

Igen, az adatbázisokkal való interakció automatizált tesztekben gyakori gyakorlat, különösen az integrációs és end-to-end tesztek esetében.

Gyakran használtak:

  • Tesztadatbázisokat vagy memória alapú adatbázisokat (pl. SQLite, H2) gyors indításhoz.
  • Konténereket valódi adatbázis-kezelő rendszerrel (pl. PostgreSQL Dockerben) egy reálisabb környezetért.
  • Tranzakciókat rollback-kel a teszt után, hogy ne szennyezzék az adatbázist.
  • Séma migrációkat a tesztek előtt az aktuális állapot fenntartásához.

Python példaként tranzakció használatával:

import pytest
from myapp import db_session

@pytest.fixture(autouse=True)
def run_around_tests():
    connection = db_session.connection()
    transaction = connection.begin()
    yield
    transaction.rollback()

Ez a megközelítés lehetővé teszi, hogy a tesztek valódi adatbázissal működjenek, anélkül, hogy adatokat hagynának hátra.