Page History
...
Version | Dato | Ansvarlig | Beskrivelse |
---|---|---|---|
1.0 | 29.06.2012 | Systematic | Initiel udgave |
1.1 | 21.08.2012 | Systematic | Ændring i afsnit 3.2, 4.2 og 7.2 grundet opdateret bygge- og testprocedure. |
1.2 | 18.09.2012 | Systematic | Ændring grundet ny profile til byg uden mysql adgang fra byggeserver |
1.3 | 23.05.2014 | Systematic | Ændring afspejler opsplitning af tidl. NPI-projekt i selvstændige komponenter. |
1.4 | 28.11.2014 | Systematic | Referencer til Nationalt Patientindeks (NPI) fjernet |
1.5 | 27.02.2015 | Systematic | Nye kommandoer til maven og ændring af npi og npiservices til dds |
1.6 | 02.02.2016 | Systematic | Opgradering til WildFly Forbedret codecoverage beskrivelse |
1.7 | 16.12.2016 | Systematic | Fjernet beskrivelse af code-coverage generering for unittest. |
1.8 | 13.06.2018 | Systematic | Migreret til NSPOP SVN |
22.10.2018 | KIT | Dokument flyttet fra Word til Confluence. Original dokument navn var: PHB0007 Guide til Udviklere Samtykke Service.docx | |
19.03.3030 | KIT | Docker | |
14.05.2020 | KIT | SDS-3883 Etablering af IDWS snitflade | |
03.08.2020 | KIT | Beskrivelse af hvordan code coverage fra integrationstest flettes ind i code coverage fra unittest |
Definitioner og referencer
...
Code coverage analyse er foretaget i projektet med anvendelse af Maven Jacoco plugin. Code coverage beregnes automatisk ved byg. Dette er både lokalt og på Jenkins.
Code coverage fra integrationstest
Det er muligt at inkludere code coverage fra integrationstesten. Det kan gøres på følgende måde:
1. Indsæt følgende i development/docker-compose.yml (markeret med fed skrift):
consentverification:
...
volumes:
...
- ../configuration/jacoco/jacocoagent.jar:/jacoco/jacocoagent.jar
- ../../integrationtest/target/jacoco-it:/jacoco-report
environment:
...
- JAVA_OPTS="-javaagent:/jacoco/jacocoagent.jar=output=file,destfile=/jacoco-report/jacoco-it-verification.exec,dumponexit=true,append=true"
consentadministration:
...
volumes:
...
- ../configuration/jacoco/jacocoagent.jar:/jacoco/jacocoagent.jar
- ../../integrationtest/target/jacoco-it:/jacoco-report
environment:
...
- JAVA_OPTS="-javaagent:/jacoco/jacocoagent.jar=output=file,destfile=/jacoco-report/jacoco-it-administration.exec,dumponexit=true,append=true"
2. Kopier jacocoagent.jar under compose/configuration/jacoco/
3. Start servicen op i docker-compose
4. Verificer ved at logge ind i docker-containeren at følgende filer findes:
- /jacoco/jacocoagent.jar
- /jacoco-report/jacoco-it-verification.exec (den er tom)
- /jacoco-report/jacoco-it-administration.exec (den er tom)
De to sidste filer skal også findes på ens egen maskine under:
- ../../integrationtest/target/jacoco-it/jacoco-it-verification.exec
- ../../integrationtest/target/jacoco-it/jacoco-it-administration.exec
5. Kør integrationstesten
6. Stop docker-compose (meget vigtigt, da det først er der man kan se indholdet af de to .exec-filer)
8. Verificer at der nu er indhold i disse to filer:
- ../../integrationtest/target/jacoco-it/jacoco-it-verification.exec
- ../../integrationtest/target/jacoco-it/jacoco-it-administration.exec
9. Inkluder følgende i pom.xml så jacoco-it.exec bliver flettet ind i resultatet af unittesten:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>exec-merge</id>
<phase>verify</phase>
<goals>
<goal>merge</goal>
</goals>
<configuration>
<fileSets>
<fileSet implementation='org.apache.maven.shared.model.fileset.FileSet'>
<directory>${basedir}</directory>
<includes>
<include>**/*.exec</include>
</includes>
</fileSet>
</fileSets>
</configuration>
</execution>
</executions>
</plugin>
10. Kør et alm maven build, så de to .exec-filer bliver flettet sammen med jacoco-output fra unittests (Det er vigtigt den bliver kør uden "clean"):
mvn install
Performancetests (JMeter)
...