Question

Je suis en utilisant AbstractTransactionalSpringContextTests pour exécuter des tests d'intégrations de printemps. Le contexte de ressort est chargé une fois et tous les tests sont effectués. Comment puis-je faire la même chose si je veux que mes tests pour être dans de nombreuses classes et paquets.

Bien sûr, le contexte du printemps devrait être chargé juste une fois pour toutes mes tests (dans toutes les classes et forfaits), et non une fois par classe ou package.

Était-ce utile?

La solution

En tant que Javadocs AbstractSingleSpringContextTests (l'un des super-classes de AbstractTransactionalSpringContextTests) état:

  

Cette classe en cache des contextes à partir d'une clé de contexte: normalement les emplacements de configuration Tableau chaîne décrivant les descripteurs de ressources de printemps qui constituent le contexte. À moins que la méthode setDirty () est appelée par un test, le contexte ne sera pas rechargées, même dans les différentes sous-classes de ce test. Ceci est particulièrement utile si votre contexte est lent à construire, par exemple, si vous utilisez Hibernate et le temps nécessaire pour charger les mises en correspondance est un problème.

Votre contexte est mise en mémoire cache, de sorte que tous les autres tests exécutés dans le même classloader (à savoir - tous vos autres tests exécutés au cours de la même série de tests) utiliseront le contexte mis en cache. Vous ne devez faire aucune configuration supplémentaire - devrait être fait pour vous déjà. Si vous n'êtes pas sûr de cela, ou si vous souhaitez résoudre, il suffit de tourner sur la journalisation pour org.springframework et vous devriez voir beaucoup de l'exploitation forestière utile quand le contexte est en cours de chargement, quel fichier, comment; etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top