Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af EAS.
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 EAS service 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, Cucumber og Maven.
Der findes UnitTests af centrale enheder (klasser) i EAS. Testene er implementeret vha JUnit.
Testene udføres som en integreret del af byg af komponenten, men kan også afvikles separat med kommandoen
mvn test
Jacoco anvendes til at lave en testrapport med coverage for hele applikationen. Rapporten generes ved at køre
mvn verify |
Herefter vil Jacoco rapporten være at finde under:
coverage/target/site/jacoco-aggregate/index.html
Integrationstestene for EAS er implementeret vha Cucumber og JUnit i modulet integrationtests, og er beregnet til afvikling mod en kørende udgave af EAS.
Testene er implementeret i "EasIT.java", og er inddelt i en feature for hver EAS-operation. I hver af disse features benyttes forskellige nøgler afhængigt af, hvilke data der findes på det konkrete miljø.
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 EAS-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=local
Der er følgende muligheder for test miljøer:
| local | Tests afvikles mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes). |
| test1 | Endnu ikke mulig |
| test2 | Endnu ikke mulig |
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).