Page History
...
Er argumentet ikke anført benytter Maven-scripts den oprindelige property-fil.
Integrationstests gennemføres ved at udføre maven-kommando fra integrationtest-directory:
Code Block |
---|
cd integrationtest mvn verify –Pexternal-test \ -Dtestclient-property-file=<sti til tilpasset testclient.properties> |
Eksempel:
Code Block |
---|
cd integrationtest
mvn verify -Pexternal-test -Dtestclient-property-file=./src/test/resources/testclient.properties |
Integrationstestene understøttes kun ved brug af Svareksponeringsservice stubben "labreportservicestub".
Bemærk, at visse integrationstests kræver konfigurationsændringer og derfor er sat til ignored. Disse kan, efter konfigurationsændring som beskrevet i deres javadoc, køres selvstændigt ved at udkommentere ignore og tilføje argument –Dit.test=<testklasse-navn> til ovenstående maven-kommando.
...
- Cobertura etableres, ved enten:
- Download fra fx sourceforge (https://sourceforge.net/projects/cobertura/) og udpakning
- Kildekode hentes fra https://github.com/cobertura/cobertura/releases og bygges
- Ant installeres
- Download fra http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz
I Ant's lib folder bør følgende jars være tilgængelige
Jar
Fremskaffelse
asm-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-analysis-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-commons-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-tree-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-util-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
cobertura-2.1.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
commons-lang3-3.3.2.jar
Indeholdende i Cobertura-2.1.1-bin-tar
oro-2.0.8.jar
Indeholdende i Cobertura-2.1.1-bin-tar
slf4j-api-1.7.5.jar
Indeholdende i Cobertura-2.1.1-bin-tar
slf4j-log4j12-1.6.4.jar
Bør være i lokal m2 folder
log4j-1.2.16.jar
Bør være i lokal m2 folder
- Installation af Cobertura modul på WildFly:
Følgende Cobertura afhængigheder kopieres fra cobertura-2.1.1-bin.tar.gz til <wildfly folder>/modules/net/sourceforge/cobertura/main
Jar
Destination
<arkiv>/cobertura-2.1.1.jar
<modul-main>/
<arkiv>/lib/asm-tree-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-commons-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-util-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-analysis-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/oro-2.0.8.jar
<modul-main>/lib/
En module.xml fil skabes i samme main mappe med følgende indhold:
Code Block <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="net.sourceforge.cobertura"> <resources> <resource-root path="."/> <resource-root path="cobertura-2.1.1.jar"/> <resource-root path="lib/asm-tree-5.0.1.jar"/> <resource-root path="lib/asm-commons-5.0.1.jar"/> <resource-root path="lib/asm-util-5.0.1.jar"/> <resource-root path="lib/asm-analysis-5.0.1.jar"/> <resource-root path="lib/oro-2.0.8.jar"/> </resources> <dependencies> <module name="asm.asm" /> <module name="javax.servlet.api" /> <module name="org.slf4j" /> </dependencies> </module>
Default udskrives coveragefilen (cobertura.ser) i <wildfly folder>/bin mappen. Ønskes filen udskrevet til en anden mappe skabes filen cobertura.properties i main mappen med indeholdet:
Code Block net.sourceforge.cobertura.datafile=<sti>/cobertura.ser
For at få Cobertura til at skrive coverage af integrationstests, er der to muligheder:
Metode
Installation og brug
coberturaFlush.war servicen
- coberturaFlush.war er at finde i Cobertura-2.1.1-bin-tar
Før kopiering til <WildFly>/standalone/deployments skal følgende linje tilføjes til coberturaFlush.war/META-INF/MANIFEST.MF:
Code Block Dependencies: net.sourceforge.cobertura
- Efter ændring deployeres coberturaFlush.war og servicen udstiller ”<host>/coberturaFlush/flushCobertura”. Kald til denne service ved f.eks. Curl får Cobertura til at skrive coverage filen. (Se trin 3.3).
Genstart af WildFly - Cobertura skriver automatisk coverage fil ved genstart af WildFly
- Denne mulighed kræver følgende ændring i <wildfly folder>/bin/standalone.conf med tilføjelse af:
Code Block JAVA_OPTS="$JAVA_OPTS -Djboss.shutdown.forceHalt=false"
Bemærk at når WildFly startes med instrumenteret kode, da startes "optagelse" af code coverage. Ved kald til coberturaFlush servicen skabes et billede af hvordan coverage ser ud nu. Dette billede skrives til <wildfly>/bin/cobertura.ser, hvor filen bliver additivt opdateret, hvis filen findes i forvejen, eller skabes, hvis den ikke findes. "Optagelse" af code coverage bliver først reset ved genstart af WildFly og fjernelse af <wildfly>/bin/cobertura.ser.
- Genstart af WildFly
...