Obsah
1. Co to je Unit testy databazi?
2. Proc delat unit testy databazi?
3. Druhy testu
4. Prinosy od Team Edition for Database Professionals
5. Prvni unit test databazi
6. Priprava testu
7. Sprava stavu databazi
8. Spusteni testu
9. Co se skryva pod databazi unit testem
Co to je Unit testy databazi?
Unit testovani je dobre znamy koncept ve vyvoje aplikace, ale pro databazove vyvojare tohle zatim tak neni. Kazdopadne, zkusime objevit zaklady automatickeho testovani individualnich casti systemu. I v pripade databazi unit testovani znamena schopnost overeni jednotlivych casti systemu ze jejich funkcnost odpovida ocekavanim.
Jak tohle vztahuje na vyvoj databazi? Skoro stejne jako i aplikacni logika – cili muzeme testovat ulozene procedury, funkce a trigery.
Jak vypada unit test pro ulozenu proceduru? Rekneme ze chceme otestovat ulozenu proceduru CustOrderHist z databazi Northwind (tato vzorkova databazi je bezna soucast instalace, anebo ji jednoduche najit na internetu). Tato procedura musi vratit historie objednavek pro nejake zakaznicke ID. Aby otestovat funkcnost, vymyslime SQL dotaz, ktery spusti proceduru a overi, jestli ziskame ocekavany pocet radku. Tento skript muze vypadat takto:
DECLARE @CustomerId nchar(5)
SELECT @CustomerId = 'EASTC'
EXEC dbo.CustOrderHist @CustomerId
IF (@@ROWCOUNT <> 19)
RAISERROR('Actual Rowcount not equal to expected 19',11,1)
Proc delat unit testy databazi?
Jako postup, unit testovani ma radu vyhod oproti rucnemu „dle potreby“ testovani a ladeni. Behem vyvoje databazovych unit testu vy muzete vytvorit radu testu i spoustet jejich behem vyvoje aby mit jistotu ze vsichni ocekavany vlastnosti funguji jak ma byt. Proto ze kazy unit test urcen pro individualni metodu, to je jednodussi zjistit zdroje chyb v kode.
Takova kolekce testu je velice uzitecna v pripade tzv. „zpatecneho“ testovani. Po kazdem pridani nove funkcnosti vy muzete spustit existujici testy aby mit jistotu ze nerozbily jiz existujici funkcnost. Takove zpatecny testy ulehcuji zmeny v databazi, proto ze ted vy muzete provadet zmeny a vedet jak teto zmeny prinaseji.
Navic unit testy je zdrojem dokumentace pro uzivatele otestovanych metod. Vyvojare pak schopny rychle projit test a zjistit jak ten nebo jiny kousek muze byt pouzit.