1. Indhold
2. Introduktion
2.1. Formål
Dette dokument beskriver testvejledning for CAVE servicen. Der anvises også en metode til mere detaljeret verifikation og fejlfinding.
Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle tests.
2.2. 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.
2.3. Dokument historik
Dato |
Ændring |
Ansvarlig |
---|---|---|
18/2-2019 |
Initiel version |
KvalitetsIT |
07/04-2021 | Flere detaljer vedr. integrationstest med docker-compose | KvalitetsIT |
2.4. Definitioner og referencer
Reference |
Beskrivelse |
---|---|
3. Afvikling af unit-tests
Afvikling af unit tests sker i forbindelse med byg af servicen, og byg er kun succesfuldt, hvis alle unit tests eksekveres med succes.
Afvikling af test can også gøres med "mvn clean test".
Der dannes en rapport med test coverage. Rapoprten er en HTML rapport og findes i folderen "cave-war/target/site/jacoco-aggregate". I denne folder er der en index.html fil.
4. Afvikling af integrationstests
Integrationtests kan afvikles mod enten en vilkårlig server eller mod en lokalserver kørende i en docker container.
Selve integrationstesten er kodet i form af en række jUnit tests, der laver kald mod den REST snitflade, som servicen den udstiller. Testen dækker ikke user stories, disse håndteres via LAR servicens integrationstest.
4.1. Afvikling mod lokal docker container
For at afvikle integrationstests mod en lokalt kørende docker container kørees nedenstående kommando.
DOCKER_RUN=true mvn -P integration-test clean install
Ved hjælp testcontainers.org startes der en MariaDB container og en Wildfly container med CAVE applikationen. Integrationstest afvikles mod denne wildfly container.
4.2. Afvikling mod vilkårlig server
For at afvikle integrationstests mod en vilkårlig server køres nedenstående kommandor.
mvn verify -Pintegration-test -Dintegrationtestpropdir=src/test/localhost
-Dintegrationtestpropdir skal sættes til en folder folder under cave-war modulet og indeholde en fil der hedder test.properties. Filen skal indeholde noget i stil med nedenstående.
cave.endpoint = http://localhost:8070/cave/fhir
4.2.1. Afvikling mod lokal server
Udfør følgende trin, hvis du ønsker at køre integrationstest mod lokal version deployed vha. docker-compose (Se detaljer i udvikler guides til CAVE service)
- Tjek source ud til CAVE service
- Byg service
- Start CAVE servicen lokalt med docker-compose
- Kør mvn verify -Pintegration-test -Dintegrationtestpropdir=src/test/localhost
5. Codecoverage
Efter afvikling af unittests genereres en testrapport med Maven-plugin’et JaCoCo. Rapporten kan ses ved at åbne følgende fil i en browser:
cave-war/target/site/jacoco-aggregate/index.html