J'utilise en dessous de la configuration de démarrage du ressort:
spring.datasource.url=jdbc:h2:mem:testdb
3 Réponses :
mise à jour:
Comme vous utilisez la console H2, vous avez probablement une propriété appelée p> si oui, alors le ressort Si vous utilisez l'une de ces annotations - @Datajdbctest strong>, @DataJpatest strong> et @jdbctest fort> dans votre test, puis ressortez à travers Si vous souhaitez résoudre le problème pour un seul cas de test, veuillez utiliser: p> si vous voulez que cela postule pour tous les cas de test, alors s'il vous plaît avoir cette propriété dans application.YAML p>
TestDatabaseoconfiguration code>, qui, par défaut, par défaut, configurera une instance de base de données intégrée en mémoire avec une unique intégrée Nom. P>
Je n'utilise aucune des annotations mentionnées, il ne s'agit pas non plus de tests, je me connecte à H2 DB de l'application principale.
@ user1318369 Avez-vous la propriété Spring.H2.Console.Enabled définie? Comme je l'ai mentionné dans ma réponse mise à jour
Oui, j'ai cet ensemble de biens. Comme je l'ai mentionné, dans les deux applications de démarrage du printemps, je dispose de cet ensemble (avec les verisons 2.2.4.Release et 2.3.1.Release), mais pour ce dernier, je devais expliquer explicitement spécifier le printemps.datasource.url, sinon Attribue une URL aléatoire que je peux voir dans les journaux d'application. Vous vous demandez donc pourquoi ce comportement différent?
Ce changement garantit chaque test dans une suite de tests qui partage un Le contexte de l'application reçoit une base de données intégrée unique pour prévenir État de la base de données intégré incohérent entre les tests. P> blockQuote>
Vous pouvez revenir au comportement précédent en suivant le paramètre suivant: p>
xxx pré> ul>
Ce n'est pour aucune suite de test, ceci est pour l'application principale, connectant à H2 DB.
Vous pouvez essayer de modifier ces paramètres et voir le change .
a découvert que les dernières versions de Spring Boot (2.3+), le nom de la base de données H2 est généré au hasard chaque fois que vous redémarrez le serveur. Post similaire: Springboot 2.3.0 Tout en se connectant à la base de données H2 a> p>
Je suis désolé mais je pense que vous n'avez pas lu ma réponse correctement. J'ai aussi mentionné la même chose. Si vous utilisez l'une de ces annotations - DataJDbcTest, DataJpaTest, DataJpaTest et JDBCTest dans votre test, le ressort via AutoconfigureTestDatabase appellera TestDatabaseoconfiguration, ce qui, par défaut, par défaut, configurera une instance de base de données intégrée en mémoire avec une unique intégrée. Nom. b>
@Abhinabachakraborty, j'ai déjà su la solution avant de poster ceci (Ajouter Spring.DataSource.url = JDBC: H2: MEM: TestDB dans le fichier de propriétés). Cependant, ma question était de savoir pourquoi je devrais le faire explicitement pour une version du printemps et non pour un autre. Comme je l'ai mentionné, pour la version 2.2.4.Release, cela n'était pas nécessaire. Quant aux annotations que vous avez mentionnées, je n'utilise aucun de ceux de l'un des projets avec les différentes versions de printemps.