Nous utilisons PostgreSQL avec EAR déployé sur JBoss. Pendant le processus de construction, nous avons une base de données de développement qui est utilisée puis dans le test d'intégration : un artefact spécial est déployé et les tests communiquent avec l'application en utilisant un client http.
Actuellement, l'état de la base de données change pendant l'exécution des tests, nous n'avons donc pas d'autre moyen que de mettre du contenu supplémentaire pour chaque test qui la modifie, de sorte qu'aucun test ne dépende de l'autre. Cela prend beaucoup de temps et de patience car ces tests deviennent même dépendants de l'ordre des enregistrements.
Existe-t-il un moyen de faire un snapshot de la base de données afin de la restaurer après chaque test avec une quantité raisonnable de ressources ? Docker pourrait-il aider ? Ou un autre moyen ?
H2 n'est pas la solution, car nous utilisons certaines fonctionnalités spécifiques à PostgreSQL. Les tests peuvent s'étendre sur plusieurs transactions, donc je suppose que le retour en arrière ne serait pas utile non plus.