Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af IDSAS.
Følgende typer af test indgår i udviklingsarbejdet:
Unittests, der verificerer, at de individuelle enheder i kildekoden virker efter hensigten, herunder måling af code coverage.
Integrationstest: Integrationstests, der afvikles op imod kørende DDTV services til verifikation af funktionalitet og deployment.
Dokumentet henvender sig til udviklere og testere.
Læseren forventes at have kendskab til Java software udvikling, herunder unittesting ved anvendelse af JUnit og Maven.
Der findes UnitTests af centrale enheder (klasser) i DDTV.
Testene er implementeret vha JUnit og kan eksekveres af Mavens standard testplugin SureFire.
Testene udføres som en integreret del af byg af komponenten, men kan også afvikles separat med kommandoen
mvn test |
Integrationstestene for DDTV er implementeret vha Cucumber og JUnit i modulet ddtv-integrationtests, og er beregnet til afvikling mod en kørende udgave af DDTV.
Testene er implementeret i "DdtvIT.java", og er inddelt i 3 forskellige kategorier:
I praksis kan alle tests køre op imod docker-compose-setuppet under development, da denne rummer alle de services. der skal kaldes, kørende på hhv. port 8080, 8081 og 8082. Det er afspejlet i local.properties-filen under "resources".
Integrationstestene tjekker primært om kaldene går igennem, eller giver fejl, alt efter hvad forventningen er i den givne situation. Mere specifik forretningslogik testes igennem unit-testene.
Afvikling af Integrationstests aktiveres via Maven med følgende kommando:
mvn verify -pl integrationtest -Pintegration-test |
Dette vil afvikle integrationstestene mod lokalt kørende DDTV-services.
Testene kan også afvikles mod NSP's test miljøer ved at sætte argumentet environment. F.eks.
mvn verify -pl integrationtest -Pintegration-test -Denvironment=test1 |
Der er følgende muligheder for test miljøer:
| Miljø | Beskrivelse |
|---|---|
| local | Tests afvikles mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes). |
| test1 | Tests afvikles mod services, der er deployet på test1. |
| test2 | Tests afvikles mod services, der er deployet på test2. |
Bemærk. hvis det ønskes at afvikle integrationstests mod services køres i lokalt docker-compose setup, skal services først startes. Se Guide til udviklere - Afvikling.