Versions Compared

Key

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

...

Unittests kan køres ved at eksekvere

mvn test

Indlæseren arbejder i noget af ruten på et batch af events. I forbindelse med unit testen angives dette i klassen YderRouteBuilderTestSetup i variablen Iterable<Object[]> data(). Denne er default sat til en værdi, for at holde test tiden nede. Men inden release bør man køre en test med de udkommenterede værdier, sådan at koden bliver udfordret i forhold til denne værdi.

Det er konstateret, at den kan have indflydelse i, om noget kode virker eller ej.)

Tests i Camel

I det Camel kører asynkront, er det nødvendigt for unittests at vide, hvornår Camel er færdig med at indlæse en fil, hvis testen skal vide, hvornår den kan kontrollere, om det gik som forventet. Dette gøres i yder indlæseren, ved i YderRouteBuilderTestSetup at holde øje med confirm filerne (.done og failure) og frigive en Semaphore (routeHandshake) der først frigives når de forventede filer er fundne.

Yderindlæseren anvender fælles bibliotekets test pakke, til at understøtte en lang række unit test.

Der kan læses mere om unit test i indlæseren i "Guide til udviklere fælles for alle stamdataindlæserne"Hvis ikke der benyttes dette trick til Camel kan man være nødsaget til at indsætte waits, hvilket gør testeksekveringen langsommere, samt kan være afhængig af eksekveringsmaskinens computerkraft.

Unittests med en kørende MariaDb

...