Page History
...
https://dros.nspnxrg.medcom.dk/dros/iti61?wsdl
Unittests
Der findes UnitTests af centrale enheder (klasser) i NXRG.
Placeringen af disse følger standarden foreskrevet af Maven og er placeret i src/test/java i hvert af NXRG servicens moduler.
Unittests er navngivet med navnet på den klasse, som de tester, efterfulgt af Test.
Således ligger unittesten for klassen:
./nxrg-app/src/main/java/dk/nsp/nxrg/ws/Iti42WS.java
implementeret i:
./nxrg-app/src/test/java/dk/nsp/nxrg/ws/Iti42WSTest.java
Unittests er stilmæssigt opbygget på følgende måde:
- Hver testcase er implementeret som en metode i den relevante testklasse
- Testcasen er navngivet, så det tydeligt fremgår, hvad formålet med testen er
- Kommentarer i testcasen inddeler tydeligt i præcondition (Given), udførsel (When), tjek (Then) som beskrevet f.eks. Martin Fowler: Given-When-Then
Unittests er implementeret vha JUnit og kan eksekveres af Mavens standard testplugin SureFire.
Til udregning af testcoverage anvendes Jacoco Maven Plugin (se JaCoCo Maven plug-in).
Testcoverage udregnes i de enkelte Maven moduler i NXRG og aggregeres til en samlet rapport i modulet nxrg-testreport.
Således er en samlet rapport over testcoverage tilgængelig i
./nxrg-testreport/target/site/jacoco-aggregate
Unittests og tilhørende udregning af testcoverage udføres som en integreret del af byg af komponenten (se i øvrigt NXRG - Guide til Udviklere).
Integrationstest til verifikation af funktionalitet og deployment
Integrationstestene for DROS er implementeret vha Cucumber og JUnit i moduletdros-qa, og er beregnet til afvikling mod en kørende udgave af DROS.
Afvikling af Integrationstests aktiveres via Maven ved følgende kommando i moduletdros-qa:
mvn verify -Pintegration -Dvariabel=value
Det kræves at følgende properties angives ved afvikling af integrationstesten
Property | Beskrivelse |
| iti18.service.endpoint | Endpoint for NXRG ITI-18 service |
| iti42.service.endpoint | Endpoint for NXRG ITI-42 service |
| iti57.service.endpoint | Endpoint for NXRG ITI-57 service |
| iti61.service.endpoint | Endpoint for NXRG ITI-61 service |
For nemheds skyld er der angivet følgende profiler (kan angives med -P), med variabeldefinitioner for et givent miljø
| local | Det dockerbaserede udviklingsmiljø for NXRG |
| dev | Det fælles udviklingsmiljø for NXRG |
| test1 | NXRG på NSP Test1 miljø |
| test2 | NXRG på NSP Test2 miljø |
Testrapporter kan for integrationstesten genereres som html og json og kan ses i /target/cucumber-reports/cucumber.html og /target/cucumber-reports/cucumber.json
Sammenhæng mellem integrationstests og user stories
I NXRG - Brugerhistorierfindes en liste over, hvilke user stories, der er relevante for NXRG.
Disse brugerhistorier går igen i integrationstestene, da hver brugerhistorie svarer til en integrationstestssuite (feature) i NXRG.
Således findes testscenarier for brugerhistorien 'Registrer Dokumentsæt med ReferenceIdList' i featurefilen:
./nxrg-qa/src/test/resources/dk/nsp/nxrg/test/verification/RegistrerDokumentsaetMedReferenceIdList.feature
Performance test
Følgende beskrivelser er "work in progress" og justeres til, som tingene bliver lagt fast og gjort færdigt.
...