ubavic/bas-celik

Add tests

milemik opened this issue · 3 comments

Mislim da bi bila dobra ideja da se dodaju testovi :) Ja sam rad da contribujem :)

ubavic commented

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.