Tests unitaires sur base Neo4j, The new Way
Vous vous souvenez d’un précédent billet sur comment faire des tests unitaires avec une base Neo4j
.
La problématique était que le code utilisé, en plus d’être compliqué était en partie déprécié. Mais récemment, nous avons
eu à développer une extension Neo4j pour les besoins d’un projet et la procédure de test préconisé par Neo4j inclut l’utilisation
d’une classe TestServerBuilders
du package org.neo4j.harness
.
À partir de cette classe, il est possible de modifier notre précédente Rule comme suit :
ServerControls serverControls = TestServerBuilders.newInProcessBuilder().newServer();
Le serverControls
permet ensuite de récupérer les URI d’appel à la base Neo4j et de stopper la base.
Le builder éssaye de démarrer un serveur sur 7474 et teste tous les ports un par un jusqu’à en trouver un de libre pour y démarrer le serveur.
Le tout n’est pas déprécié et ne demande en dépendance que
<dependency>
<groupId>org.neo4j.test</groupId>
<artifactId>neo4j-harness</artifactId>
<version>2.2.5</version>
<scope>test</scope>
</dependency>