A feladat során adat lekérdezést, feldolgozást, megjelenítést kellett végrehajtani.
A tesztelés során azt kell igazolni, hogy a “beszerzett”, feldolgozott, formázott adat logikailag és formailag megfelel az elvártnak.
Mivel az adat harmadik féltől származik, el kell érni, hogy rendelkezzünk referencia adattal, amihez az aktuális hívás eredménye hasonlítható.
A feladat szerint aktuális adatot kell lekérni. A szolgáltatónál lehetőség van ugyanannak a querynek csak a dátum paraméterét cserélve archív adat lekérdezésére. A feltételezéssel élve, hogy az archív adat nem változik, mind a referencia előállításakor, mind a teszteléskor azonos dátumot használva a teszt végrehajtható.
Mivel nem kizárható, hogy az archív adat mégis megváltozhat, két lépcsősre terveztem a tesztet. Első lépésben a kapott valasz nyers adatait ellenőrzöm. Másodikként a formázott eredményt. Így ha a nyers ellenőrzés hibára fut indokolt lehet, hogy a kimeneti adat is eltérő legyen. Amennyiben csak a második teszt bukik el, a hibát a feldogozás + formázás lépéseiben kell keresni.
A referencia adatokat a teszt tervezésekor beszereztem, állományba mentettem. A tesztelés során az aktuális eredmény kerül a tárolt referenciával összevetésre.
A feldolgozatlan nyers eredményben szerepel a végrehajtás időpontjának bejegyzése. Szükséges ezt mind a referenciából, mind az aktuális adatból eltávolítani, különben hibára fut a teszt.
A feldolgozást az olvashatóság és újra felhasználhatóság érdekében kisebb eljárásokra tagoltam (clean code elvek szerint). Unit tesztelés esetén minden eljáráshoz készül(nek) teszt(ek). Ha a kimeneti adat tesztje elbukik, hasznos lehet, ha rendelkezünk az elemi lépések tesztjeivel is. Így a kritikus eljárás tesztje is hibára fut. Továbbá hasznos tudni, hogy a módosítás okozott e hibát a módosított eljárásban, vagy keletkezett e következmény hiba máshol.
Jelenleg még csak a két, viselkedést ellenőrző, teszt készül el.