Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af SEAL.JAVA services, kan sættes op, samt hvordan koden bygges, deployes og testes.
Først beskrives de softwaremæssige krav, der er til miljøet, samt hvordan kode hentes og bygges. Dernæst beskrives deploymentmiljøet.
Siden release 2.5.0 har Seal.java krævet Java 1.8 for at bygge
Kildekoden til Seal.java er efter version 2.5.11 flyttet til libraries repository på NSPOPs subversion.
https://svn.nspop.dk/svn/libraries/sosi-seal/
Her vil fremtidige udgaver af koden blive versioneret. Udgaverne for version 2.5.9, 2.5.10 og 2.5.11 er også blevet flyttet til libraries og kan findes her:
https://svn.nspop.dk/svn/libraries/sosi-seal/tags/
De binære pakker er tilgængelige igennem NSPOPs Nexus (pakke manager):
https://nexus.nspop.dk/nexus/service/rest/repository/browse/public/dk/sosi/seal/seal/
Her findes også SNAPSHOT udgaver, som kan bruges under udvikling af funktionalitet, der skal testes inden release.
Koden bygges vha. Maven.
Følgende bruges til at bygge Seal.java:
mvn -f modules/pom.xml package install |
Unitests afvikles under byg, men kan også kaldes selvstændigt vha.:
mvn -f modules/pom.xml test |
Herunder vejledning til udviklingen i forskellige områder af Seal.java
Vi bruger JUnit 4 til at teste i Seal.java og vil gerne kunne afvikle parameteriserede tests mod de funktioner, hvor afviklingen er uændret, men input er variabelt. Det har primært været et ønske ifm. introduktionen af nye OCES3 certifikater, hvor snitfladerne har været uændret, men input har været henholdsvis OCES2 og OCES3 certifikater.
Følgende side har været indgangen til brug af parametriserede tests:
https://github.com/junit-team/junit4/wiki/Parameterized-tests
En parametriseret JUnit4 test klasse skal afvikles med org.junit.runners.Parameterized. Derfor angives annotation @RunWith(Parameterized.class) på klassen.
Der skal angives en metode, som annoteres med org.junit.runners.Parameterized.Parameters, som er de parametre der bruges i test metoderne. Metoden returnere en java.lang.Iterable bestående af et Object[], hvor hvert Object[] er det datasæt af parametre, som et test genneløb skal bruge. Testene gennemløbes for hvert entry der er i java.lang.Iterable.
Datasæt til tests angives vha. org.junit.runners.Parameterized.Parameter