Új hozzászólás Aktív témák
-
Drizzt
nagyúr
válasz
btraven
#11879
üzenetére
[Például]
De egyébként A hello world egy unit tesztelhetőség szempontjából pont eléggé faramuci dolog, mert ott a függvényedet le kellene választani a környezetéről. Ha nem a környezetéről leválasztva tesztelsz valamit, akkor az az én szememben már inkább integration teszt.
Egy olyan függvényt, ami a standard outputra kiírja, hogy Hello world, nem lehet jól unit testelni, mert a standard outputot kell mockolni, ami meg csak ilyen nyakatekert módokon oldható meg.
Ha viszont olyan függvényed lenne, ami visszaadja, hogy: "Hello world" -> remekül unit tesztelhető. Olyan, ami kap egy outputstream-et input-ként és kiírja rá, hogy "Hello world" -> szintén remekül unit testelhető.
"Ritka volt az, amikor nem változott hétről hétre a követelmény, és nagyon kevés része volt a kódnak az, amiben unit tesztre érdemes dolgok történtek."
Ez utóbbi mindig nagyon gyanús. Én is mindig azt hiszem, ogy jó, triviális kódokat írok, aztán amikor elkezdem tesztelni, szinte mindig kijön valami turpisság. Nyilván a tesztelés mehet három módon: kézzel pöcögtetve: valószínűleg jó kódot eredményez, de ha legközelebb aki hozzányúl, nem olyan alapos, mint aki írta és kézzel tesztelte, akkor rögtön veszélyes lesz módosítani a kódot. 2.: vagy azonnal automata tesztet írni, vagy az előző pont kézi eseteit automatizálni. Ez elég jó általában. 3.: előre írni meg a tesztet és csak utána a kódot. Pont az a nagy előnye, ami miatt elsőre nagyon nehéz vele dolgozni: végig kell előre gondolni az elvárt viselkedést és a trükkös eseteket is. Erre gyakran használt kifogás, hogy sokat változik az elvárás, azért nem kezdenek vele. De nem teljesen korrekt érv, hiszen anélkül, hogy tudná mit akar csinálni az ember, el sem tud mit kezdeni programozni.
Én tényleg csak alkalomszerűen TDD-zek, de örülnék, ha valamikor elkezdenénk végignyomni vele teljes projekteket, mert minőségben ég és föld a különbség. Ha előre írsz tesztet, akkor sokkal jobban át tudod gondolni, hogy milyen osztályoknak, milyen interface-eken keresztül kell tudniuk egymással beszélni. Sokkal könnyebb elkerülni a spagetti kódokat. -
BE4GLE
senior tag
válasz
btraven
#11879
üzenetére
Ha ez a kérdés fölmerült benned az számomra azt sugallja, hogy nagyon nem tudod mire való egy unit teszt. Vagy csak trollkodsz.
Az ilyen tesztekben az interface-eket mock-olod. A user interface-t is. Nem célja ezeknek a teszeknek ellenőrizni, hogy a layout-ot helyesen raktad e össze, és hogy a szöveged jól legyen tördelve. Viszont a Hello World-ig vezető utat le tudod tesztelni és a kimenetet is.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Vezetékes FEJhallgatók
- Lexus, Toyota topik
- Hogy is néznek ki a gépeink?
- A fociról könnyedén, egy baráti társaságban
- WLAN, WiFi, vezeték nélküli hálózat
- Hosszú premier előzetest kapott az Arknights: Endfield
- Formula-1
- Diabetes - Cukorbetegség
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Thinkpad L14 Gen4 14" FHD IPS i5-1335U 16GB 256GB NVMe ujjlolv IR kam gar
- Xiaomi Watch S4 2028.02.06-ig Garancia Beszámítás Házhozszállítás
- Intel i5 14400f Gainward RTX 5070 12Gb 32Gb DDR5 1TB SSD Gamer Pc Eladó!
- Samsung galaxy watch 8 44mm BONTATLAN!
- Legion Pro 5 16ARX8 16" QHD+ IPS Ryzen 7 7745HX RTX 4070 32GB 1TB NVMe gar
- Apple iPhone 14 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro 128GB,Átlagos,Dobozaval,12 hónap garanciával
- MINDENFÉLE Laptop jó áron nézz körül! 60+ hirdetés Üzleti,Gamer, Multimédiás,Tervező
- iPhone 13 128Gb 100%(1év Garancia)- ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- Beszámítás! Apple iPad 9 (2021) Wifi 64GB tablet garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Az ilyen tesztekben az interface-eket mock-olod. A user interface-t is. Nem célja ezeknek a teszeknek ellenőrizni, hogy a layout-ot helyesen raktad e össze, és hogy a szöveged jól legyen tördelve. Viszont a Hello World-ig vezető utat le tudod tesztelni és a kimenetet is.
