2017-09-19 2 views
-1

J'ai une petite webapp Spring. En plus de mes tests unitaires simples, j'écris un test unitaire qui vérifie juste le câblage requis du haricot. J'utilise le fichier applicationContext.xml par défaut, pas une version "test". J'ai de fausses ressources de test qui sont normalement définies dans mon contexte Tomcat JNDI.Comment remplacer/arrêter les tâches planifiées dans le test du contexte de printemps

Le test fonctionne essentiellement, mais un ennui est que certaines tâches planifiées définies dans le contexte par défaut démarrent et émettent des messages d'erreur qui n'affectent pas le résultat du test.

Les tâches planifiées sont définies dans le contexte comme celui-ci:

<task:scheduled-tasks> 
    <task:scheduled ref="ratesQueryProcessor" method="run" fixed-rate="30000"/> <!-- Every 120 seconds --> 
</task:scheduled-tasks> 

Y at-il quelque chose que je peux faire dans le contexte du printemps résultant de la valeur par défaut applicationContext.xml et mon fichier XML « des ressources de test », et peut-être une classe JavaConfig, qui "remplacerait" ces tâches planifiées pour les désactiver?

S'il importe, voici un petit extrait de ma classe de test unitaire:

@RunWith(SpringRunner.class) 
@ContextConfiguration(value = {"file:src/main/webapp/WEB-INF/applicationContext.xml", "/testResources.xml"}) 
//@ContextHierarchy({ 
// @ContextConfiguration("file:src/main/webapp/WEB-INF/applicationContext.xml"), 
// @ContextConfiguration(classes = SpringWiringTest.Config.class) 
//}) 
@TestPropertySource(properties = { "env = tomcat", "doNotifications = false" }) 
public class SpringWiringTest { 

La section commentée est parce que je tente de définir mes ressources de test dans une classe JavaConfig, mais à ce stade, je Je suis incapable d'utiliser à la fois un fichier XML et une classe JavaConfig (j'ai une autre publication SO demandant à ce sujet).

Répondre