#DEV : Lancer #Docker pour faire des tests d'intégration (#Java) ?


Je suis en train de développer pour le fun quelques Lambdas qui doivent s'exécuter dans une stack AWS en utilisant entre autres DynamoDB.
Je voulais tester (test d'intégration donc) de concert plusieurs Lambdas : une qui persiste un binaire et l'autre qui le lit
 

Comment faire ?
  1. Lancer DynamoDB en local
    C'est possible : les librairies sont disponibles et le lancement en local avec une simple ligne de commande java est facile et documenté
    Mais je voulais toujours retrouver un contexte propre pour des tests reproductibles.
  2. Autre solution Docker. Mais comment lancer facilement un container Docker lors de tests ?
Et bien ....

J'avais vu la conférence JUnit + Docker par Xavier Detant  et Vincent Demeester
Et hop une petite annotation 
@Docker( image = "cnadiminti/dynamodb-local", ports = @Port(exposed = 8000, inner = 8000), newForEachCase = false ) 
devant ma classe de test et le tour est joué.

Simple propre efficace ! Allez voir la documentation pour vous rendre compte à quel point la mise en oeuvre est simple : https://faustxvi.github.io/junit5-docker/

Il vous faudra JUnit 5.x. Cela tombe bien : il vient de sortir en version 5.0.0 !
http://junit.org/junit5/
Bons tests les amis !

Commentaires