Add tests
milemik opened this issue · 3 comments
Mislim da bi bila dobra ideja da se dodaju testovi :) Ja sam rad da contribujem :)
U potpunosti se slažem. To je jedna od stavki koje držim u backlog-u dugo.
Možeš slobodno početi ako već vidiš neki prostor za testiranje. Treba krenuti od jednostavnijih stvari. Naravno, želimo da koristimo standardnu praksu za unit testove u Golangu tj go test
.
Inače, možda će ti biti korisna informacija da je aplikacija manje-više podeljena na tri dela: modul card
, modul document
i modul gui
. Modul card
je zadužen za komunikaciju sa karticom, i tu zaista ima najviše stvari koje se mogu testirati (verovatno i najlakše). Moguće je pisati i testove za gui
(tj. za fyne
biblioteku), ali nisam upoznat sa tim. U modulu document
nalazi se uglavnom funkcionalnost za PDF eksport, i nisam u potpunosti siguran kako implementirati smislene testove.
Dakle, ja bih krenuo od card
modula. Implementirao bih unit testove za funkcije parsera (parseTLV
, parseBER
, ...), funkcije generisanja komandi (buildAPDU
). Nakon ovih jednostavnih unit testova, bi trebalo doraditi malo Card
strukturu, tako da je moguće testirati sa virtualnom karticom umesto sa scard.Card
. Tada bi mogli da dostignemo većinski coverage. Raspoložen sam da čujem i druge predloge i ideje. Ako želiš, mogu otvoriti konkretne taskove
I da, veoma sam zahvalan za svaki doprinos :)
Pozdrav @ubavic,
hvala na kratkom upoznavanju strukture koda i da ja sam mislio isto, da se testiranje krene od glavnih funkcionalnosti - card
modula.
Još bi mozda dodao malo komentara... Mislim da bi to olakšalo razumevanje koda.
I hvala tebi na ovom repu :D
Značajan broj testova je implementiran od otvaranja ovog issue-a, i trenutno je pokrivena polovina koda sa testovima.
Issue zatvaram, a za implementaciju narednih testova može se otvoriti ovaj issue ili novi.