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-2021Flere detaljer vedr. integrationstest med docker-composeKvalitetsIT

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)

    1. Tjek source ud til CAVE service
    2. Byg service
    3. Start CAVE servicen lokalt med docker-compose
    4. 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

  • No labels