Slow Legacy Tests

A Working effectively with Legacy Code alapján a testnek gyorsnak kell lennie. Ha egy test tovább tart, mint fél másodperc, akkor az lassú. Ugyan extrém megszorításnak tűnik, de ha jobban belegondolsz, akkor nem az. Ha van egy szép nagy egészséges test halmazod, amit igen jól tudná ellenőrizni a rendszert, akkor mi az egyetlen dolog, almi megakadályozhat abban, hogy használ: csak a sebesség.

Én nem teszek nagy különbséget unit és gyorsan lefutó integrációs teszt között.(integrációs teszt nekem többnyire azt jelenti, hogy adatbázist buherál). Igaz, hogy az integrációs tesztek lassabbak, mint a valódi unit tesztek, de még így is beleférnek a fél másodperces limitbe.

Alapvető, hogy egy integrációs tesztet is fel lehet gyorsítani in-memory adatbázissal, vagy gyors kapcsolata és jó teljesítményű igazi szerverrel. Tudom, hogy egy szerverrel sérül az teszt izoláltság, de én eddig csak olyan munkakörnyezetben dolgoztam, ahol az adatbázis szerver a környezet része (vagy karbantartott központi, vagy lokális gépen futó)

Mitől lehet lassú?

Summa: viszonylag kis kompromisszumokkal lehet gyors integrációs teszteket írni.

Sep 24, 2013
comments powered by Disqus

Links

Cool

RSS