ugrás a tartalomhoz

The Rise and Fall of Unit Testing

MadBence · 2015. Ápr. 9. (Cs), 18.14
Gondolatok az egységtesztelés hasznosságáról
 
1

A keveset mockoljunk reszevel

blacksonic · 2015. Ápr. 9. (Cs), 21.16
A keveset mockoljunk reszevel egyet tudok erteni, nagyon meg tudja neheziteni a refaktoralasokat.
2

Adatbázis

Poetro · 2015. Ápr. 9. (Cs), 22.04
Én az adatbázist és a 3rd party szolgáltatókat szoktam mockolni, leginkább csak az írás részét. De ha tényleg fontos, hogy mi van az adatbázisban, akkor a tesztkörnyezet egy másik beállítást kap, ergó másik adatbázishoz kapcsolódik, és ott állítom elő a teszthez szükséges környezetet.
3

Tudnál egy példát mutatni

inf · 2015. Ápr. 9. (Cs), 22.25
Tudnál egy példát mutatni erre?
8

Amikor egy fuggveny amit

blacksonic · 2015. Ápr. 10. (P), 14.22
Amikor egy fuggveny amit mindenhol mockolsz valtozik a kimenete...pl DateTime object helyett timestamppel tersz vissza atalakitas utan. Teszteknel mindenhol mockolod, igy amikor atalakitod mindenhol mockokat is utana kell alakitanod. Ha mockok kozul egyet nem bilentesz at uj mukodesre false positive okat fognak adni a unit testjeid.
Viszont ha vannak integracios tesztjeid is azok talan meg tudjak fogni az ilyet.


Nem azon vagyok hogy ne mockolj semmit, mert adatbazis, halozati kapcsolat, fajlmuveletek stb nem unit tesztekbe valok, de amit nem muszaly mert nem nyul semmilyen lassu dologhoz nem mockolnam csak nagyon csak ha muszaj (idokezeles pl.)
9

Érdekes, hogy pont az

winston · 2015. Ápr. 10. (P), 14.25
Érdekes, hogy pont az időkezelést említed :) Úgy értem, ugye a mock pont attól függ, hogy a "mérési eredményeidet" függetlenítsd a környezettől. Persze ez nem feltétlenül mindenhol igaz, de több olyan esettel találkoztam már, ahol a tesztek időfüggők voltak: csak bizonyos időszakokban működtek (vagy bizonyosakban nem), avagy az elvárt értéket számolgatni kellett, esetleg rátartással. Mondjuk részrehajlás is van, én a mockoljuk amit csak lehet / érdemes híve vagyok :)
10

A tesztek nem jok ha ido es

blacksonic · 2015. Ápr. 10. (P), 14.48
A tesztek nem jok ha ido es idozona fuggok :) Az a legjobb amikor te hatarozod meg az idot es az idozonat, mert akkor nem lesz hogy hol futnak hol nem a tesztek :/
Maskulonben fuggesz a tesztet futtato kornyezettol.
12

Ez így van.* És persze erre

winston · 2015. Ápr. 10. (P), 14.57
Ez így van.* És persze erre több mód is van, és mivel a mock céljával átfedésben áll ennek a célja, szerintem kitünő döntés azt alkalmazni itt.

* A példák természetesen öröklött kódból vannak :D
11

Igen, ez a mennyit mockolsz

blacksonic · 2015. Ápr. 10. (P), 14.54
Igen, ez a mennyit mockolsz szokas es csapaton beluli megegyezes resze is. Lehet tobbet mockolni, az a lenyeg hogy aki fejleszti annak ne fajjon :)
13

No igen. Ez a kérdés egész

winston · 2015. Ápr. 10. (P), 15.00
No igen. Ez a kérdés egész messze vezet, megesett pl. hogy bekonfiguráltunk a projektre három különböző statikus kódelemzőt, ami nagyon szép kódot eredményezett (aminek én mondjuk örülök), de annyira szigorú volt, hogy a tíz fejlesztőből kettő haladt értelmes tempóba, a többiek küzdöttek. Nem hiszem, hogy erre van univerzális válasz. Lennék én szivesen elitista, ha egyszer működne :D
6

Egyetértek, bár én inkább úgy

Práger Ádám · 2015. Ápr. 10. (P), 02.13
Egyetértek, bár én inkább úgy fogalmaznék, hogy jelentősen meg tudja hosszabbítani. Ezért is bajos TDD vel. A red-green-refactor jó, de a mockolás miatt egy nagyságrenddel több időt vesz igénybe mint kéne. Én inkább utólag írom meg a tesztet emiatt.
4

Én egyébként nem értek egyet

MadBence · 2015. Ápr. 9. (Cs), 23.02
Én egyébként nem értek egyet a cikkel, a mockok (számomra) igenis hasznosak, mert a unit teszt tényleg egy kis egységet fog tesztelni. node/iojs környezetben dolgozok, a tesztek proxyquire-ral rántják be a tesztelt modult, nagyon kényelmes (és gyors) az egész.
Persze ez csak az egyik fele a dolognak, integrációs tesztek nélkül kb teljesen haszontalanok ezek a unit tesztek (egy normális típusrendszerrel szerintem az ebből fakadó hibák nagyon nagy részét ki lehetne szűrni)
7

Én sem értek egyet, eddig nem

inf · 2015. Ápr. 10. (P), 12.02
Én sem értek egyet, eddig nem tűnt fel, hogy túlzott erőfeszítés lenne olyan dolgokat refaktorálni, amiket utána tesztekben kimockolok.
5

Hasonló

Práger Ádám · 2015. Ápr. 10. (P), 02.09
https://www.youtube.com/watch?v=z9quxZsLcfo

DHH éknek volt egy hangoutja hasonló témában, kicsit redundáns, de ha van idő érdemes belenézni.