Page History
...
Dette dokument beskriver en kort byggevejledning og derudover en testvejledning for Det testvejledning for Det Fælles Stamkort 1.5-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 testsDet forudsættes at projektet er bygget og installeret, og med denne vejledning kan man således afvikle integrations- og performancetests og derved kontrollere robustheden.
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
2.0.0 | 2018-08-27 | Initialt dokument | Trifork |
Kort byggevejledning
For blot at bygge projektet og dets deployable (war-fil) anvendes følgende Maven kommando:
mvn clean install -DskipTests
Bemærk at kommandoen skipper unit-tests og integrationstests, men Maven-eksekveringen starter alligevel en lokal Wildfly-server op, deployer servicen og lukker Wildfly-serveren ned igen. Denne sideeffekt skal blot ignoreres.
Projektets deployables ender i target-mappen under de respektive moduler.
Afvikling af unit-tests
For at afvikle unit-tests skal en MariaDB-database være tilgængelig.
I udviklingssammenhæng og ved unit-tests kan man nøjes med én databasebruger og én database. Disse kan oprettes vha. scripterne recreate_service_user.sql og recreate_database.sql som er lokaliseret under fsk-service/etc/db/. Derefter kan Flyway automatisk initialisere databasen under Maven byg.
Datasourcen i testafviklingen auto-konfigureres vha. Spring Boot som anvender database-credentials fra fsk-service/src/test/resources/application.properties. De default værdier matcher værdierne i de førnævnte SQL-scripts.
Projektet skal være fuldt bygget for at lokale dependencies er på plads, og dernæst kan unit tests afvikles med følgende Maven kommando:
mvn clean test
Der genereres desuden en testrapport.
Afvikling af integrationstests
Integrationstests
Integrationstest skal afvikles mod den deployede komponent med test-opsætningIntegrationstest kan både afvikles på en lokal Wildfly-server og på et eksternt miljø.
Selve integrationstesten består af et kald til OnDemand webservicen.
Lokal afvikling
For at afvikle integrationstests lokalt anvendes følgende Maven kommando:
mvn clean install
Bemærk at dette først afvikler unit-tests.
Når Maven når til integration-test-fasen starter den selv en Wildfly-server op, hvor den automatisk installerer og deployer følgende ting:
- Inkluderer servicens Wildfly-modul med konfigurationsfiler
- Deployer MariaDB database-driver
- Installerer 2 datasources, der begge peger på samme database som beskrevet under afvikling af unit-tests
- Deployer selve servicen fsk-service.
Afvikling mod eksternt miljø
Når servicens er installeret og deployet på et ekstern miljø, kan korrekt deployment verificeres ved at køre integrationstestene på det eksterne miljø. Dette gøres ved at anvende følgende maven kommandoMaven-kommando, som aktiverer Maven-profilen extITs og specificerer adressen på det specificerede miljø:
mvn verify -pl fsk-test -PextITs -DFSK_TEST_HOST=<host> -DFSK_TEST_PORT=<port> -DFSK_TEST_DOCID=<docid>
I ovenstående kommando skal <host> erstattes med adressen på det eksterne miljømiljøet, <port> med portnummeret, servicen svarer på (typisk 8080), og <docid> med et dokument-id, som findes i RegistryIndex-tabellen i det pågælende eksterne testmiljøs FSK database.
Bemærk at dette kræver, at projektet er fuldt bygget, for at lokale dependencies er på plads.Bemærk også at Maven-eksekveringen alligevel starter en lokal Wildfly-server op, deployer servicen og lukker Wildfly-serveren ned igen. Denne sideeffekt skal blot ignoreres.
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:
...