Indhold
Introduktion
Formål
Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af DDTV.
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.
Læsevejledning
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.
UnitTests
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
Integrationstests
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:
- Citizen. Test af IDWS kald mod DDTV citizen servicen.
- Dentist. Test af DGWS kald mod DDTV dentist servicen.
- WSWL. Test af de de udstillede WSDL- og XSD-filer, som udstilles af DDTV's Citizen- og Dentist-services.
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. Dette 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
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.