Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

VersionDatoAnsvarligBeskrivelse

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.2018KITDokument flyttet fra Word til Confluence. Original dokument navn var: PHB0007 Guide til Udviklere Samtykke Service.docx

19.03.3030KITDocker

14.05.2020KITSDS-3883 Etablering af IDWS snitflade

03.08.2020KITBeskrivelse 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)

...