printemps dois-je utiliser @DirtiesContext sur chaque classe
J'ai plusieurs tests junit,
@ContextConfiguration(locations = { "file:../business/src/test/resources/application-context-test.xml",
"file:src/main/webapp/WEB-INF/confA.xml", "classpath:/mvc-dispatcher-servlet-test.xml"})
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class ProductContentControllerTest {
...
}
À l'intérieur d'une classe, tous les tests sont à exécuter dans le même contexte (ce qui est le cas).
Mais je veux que tous mes classes de tests indépendants.
J'ai été en supposant que c'était le comportement par défaut, mais lorsque je lance le test ensemble, il semble trop rapide.
Comment ça fonctionne? Est le contexte de l'application n'a commencé qu'une fois pour chaque classe de test ?
Dois-je ajouter :
@DirtiesContext(classMode= ClassMode.AFTER_CLASS)
sur chaque classe de test ?
grâce
OriginalL'auteur jpprade | 2014-08-18
Vous devez vous connecter pour publier un commentaire.
Printemps caches le contexte de l'application par défaut lors de l'exécution des tests. La clé de Printemps utilise pour le cache est constituée de:
Tous les détails de la mise en cache peut être trouvé dans la la documentation.
Dans mon expérience, il est rarement nécessaire d'utiliser
@DirtiesContext
afin de Ressort à force de recréer le contexte. Je n'ai pas rencontré de trop nombreuses situations où il est nécessaire - la seule qui me vient à l'esprit est facilement l'utilisation d'un gestionnaire de cache.Vous êtes mieux de l'utiliser uniquement sur les tests que vous avez absolument, positivement besoin. La vitesse d'exécution sera beaucoup trop lent si vous utilisez
@DirtiesContext
sur chaque test, vous ne serez pas obtenir quelque chose en retour.Votre accueil!
J'ai un problème inverse, je ne suis pas à l'aide de Souillures, mais mon printemps contexte est créé pour chaque test, ce que je fais mal?
Je ne peux pas vraiment dire sans plus d'info
Le modèle que nous avons est que nous avons une classe de base avec l'annotation @RunWith(SpringRunner) et @SpringBootTest etc, et tous mes tests étendre ce système, de sorte qu'il utilise exactement la même config, mais on dirait que ce polymorphisme - printemps tests ne l'aiment pas à cache le contexte?
OriginalL'auteur geoand