Namų darbas — testai tavo programoje
TAVO programa: duok jai apsaugos tinklą.
Reikalavimai:
- Sukurk
<kažkas>_test.gošaliamain.go,package main, suimport "testing". - Parašyk lentelės testus bent dviem grynosioms funkcijoms savo programoje — toms, kurios priima įėjimą ir grąžina rezultatą (formatuotojas, tikrintojas, mažas skaičiavimas). Praleisk funkcijas, kurios tik skaito įvestį ar spausdina; testuok logiką, ne meniu.
- Padenk kraštus, ne tik laimingą kelią: tuščią eilutę, ribinį skaičių, lietuvišką žodį, kur baitai ≠ simboliai.
- Paleisk
go test -vir pasiek, kad viskas praeitų.gofmtir testų failą.
Papildomai (verta kartą padaryti): tyčia sugadink vieną funkciją — pakeisk > į >= arba RuneCountInString atgal į len — paleisk go test ir įklijuok krentančią išvestį. Tada pataisyk ir įklijuok praėjimą. Ta raudona→žalia pora — įrodymas, kad tavo testas tikrai ką nors saugo.
Ką pateikti: _test.go failą + go test -v praėjimo nuorašą ir (iš „Papildomai", jei darei) tą vieną krentantį paleidimą, rodantį, kaip testas pagauna tikrą pakeitimą.
Sąžininga pastaba. Testai — ne ritualas ir ne nemokami: netestuoji visko ir kaip taisyklė nerašai testų prieš kodą. Testuok dalis, kurias lengva subtiliai suklysti ir erzina tikrinti ranka: teksto tvarkymą, ribas, viską, kas liečia baitus vs simbolius. Būtent tai maža CLI dažniausiai suklysta, o dabar mašina prižiūri už tave. Kita pamoka — paskutinė — pažvelgsim po gaubtu į rodykles ir kaip tavo sukurtos dalys dalijasi atmintimi.