Når vi har skrevet tester har vi skilt mellom integrasjonstester og unit tester. Integrasjonstester er tester som tester funksjoner i sin helhet. Unit tester er tester som tester små enkle funksjoner. På backend har vi valgt å bruke integrasjonstester få å nå høy dekningsgrad og for å sikre at hvert enkelt api kall fungerer til sitt bruksområde. På frontend har vi brukt unit tester for å sikre at hver komponent gjør den jobben den skal før den blir lagt inn i større komponenter / views.
Vi har også benyttet oss av CI der koden har blitt bygget og testet før den kan sammenslås med main branchen. Dette har sikret at koden som er skrevet har fungert slik at den ikke ødelegger for andre som er avhengig av main branchen.
Backend
På backend var test målet på 50% av koden. Denne ble nådd ved hjelp av integrasjonstester som brukte apiet. Testene som er skrevet tester at riktig parametere er påkrevd og at korrekt data blir sendt fra apiet.
Bildet viser at vi har en testdekning på 57% og 50%. Feltet instructions som viser 57% viser antall prosent av alle linjene i programmet som kjøres når testene kjøres. Det andre feltet som heter branches viser at vi har 50% testdekning på alle logiske uttrykk, dette vil for eksempel være if setninger og annen kode som er avhengig av logiske utrykk.
Testene på backend kjøres med kommandoen. Hvis man bruker docker vil testene kjøres før programmet starter.
mvn clean test
Denne komandoen lager også en coverage report som man kan finne i mappen target/site
Frontend
På frontend var test målet på 30% av koden. Denne ble nådd ved hjelp av unit tester og snapshot tester. Unit testene sikrer at komponentene fungerer riktig og snapshot testene tester at komponten er lik som sist gang komponenten ble godkjent.
Grunnet feil i programmet som lager testdekningsrapporten viser den ikke test coverage i filene som bruker ES6
import. Dette gjør at vi ikke får en god testcoverage report grunnet at den som lages har store mangler. På frontend er det skrevet 114 tester og 22 snapshot tester i forhold til backend som har 92 tester. Dette gjør at vi mest sannsynligvis er over 30%.
Testene på frontend kjøres ved å bruke commandoen:
npm run test:unit
Denne kommandoen lager også en coverage report som man kan finne i mappen coverage/