Skip to content

Commit

Permalink
Add unit test doc
Browse files Browse the repository at this point in the history
  • Loading branch information
sziki12 committed May 22, 2024
1 parent 758517c commit d8e8266
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions doc/unit_teszt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Unit Teszt


Első lépésként megismerkedtünk a JUnit5 és a Mockito keretrendszerrel, majd ezek segítségével valósítottuk meg a teszteseteket.

A tesztelésre többféle megközelítést alkalmaztunk:
- Kis függvényeket és azok működését vagy nagyobb kódrészletek közös működését vizsgáltuk
- A függvények viselkedését és azok hívásának kapcsolatait, másrészt pedig a lefutásuk eredményének állapotát is

## Kis függvények tesztelése

A megközelítés célja az volt, hogy minél szeparáltabban ellenőrizzük a függvények működését. Ehhez a mockito mock módszere lett használva. A Singleton osztályok összefonódása igencsak megnehezítette az elején ezt a teljes szeparációt, de nagy részben sikeres lett a végére a dolog.
Mivel a függvények viszonylag egyszerűek voltak logikájukban, ezért a módszerek jobb megismerése céljából több tesztesetnél inkább pluszként lett felhasználva az adott test feature.

Felhasznált feature-ök:
- Parameterized Test
- Test Factory
- Nested Test
- Egyéb alapvető dolgok

### Létrehoztunk állapot ellenőrző teszteseteket:
- A repairman helyének változására vonatkozó ellenőrzés, illetve az egyes tulajdonságainak változásának követése
- A különböző pályaelemek tulajdonságaiban bekövetkezett változások ellenőrzése
- Az elemek és a repairman közötti kapcsolatok változásának követése



## Kódrészletek összefüggő tesztelése

A tesztek célja a különböző Element-ek együttműködésének vizsgálata.

Létrehoztunk egy közös ősosztályt minden víz szimulációval foglalkozó teszt inicializálásához, mely elérhetővé teszi a pályaelemeket tesztelésre, valamit a pálya felépítésében és a pontszámítás mellett a víz szimuláció mock-olásában is segítséget nyújt.

A kiinduló pálya egy Ciszternából, 2 pumpából és a egy Forrásból áll és az ezeket összekötő 4 csőből.

### Létrehoztunk állapot ellenőrző teszteseteket:
- A pálya létrehozás utáni állapotának helyességére, így biztosítva hogy minden teszt alapja közös és helyes.
- A víz szimulációra a víz meglétének vizsgálatával, mind lyukas, mind sima cső esetén.
- A ponszámítás helyességére, mind a szabotőrök, mind a szerelők számára.

### Létrehoztunk függvényhívást ellenőrző teszteket:
- A Mockito Spy használatával teszteltük a vízszimuláció esetében a step() függvények meghívódását, ezáltal biztosítva a helyes szimulációt.

0 comments on commit d8e8266

Please sign in to comment.