Printemps contexte tests ne pouvez pas trouver config emplacements

J'ai une grande demande répartis sur plusieurs de Printemps bean fichiers xml de définition. Dans mon test de suite je charger manuellement les fichiers XML j'ai besoin de l'aide d'un FileSystemXmlApplicationContext pour effectuer les tests je veux courir. Cela réduit le test mis en place du temps et me permet d'utiliser la même configuration exacte des fichiers qui sont utilisés dans la production.

Maintenant, je suis en train d'utiliser le Printemps transactionnelle test de classes de base qui prennent la config des endroits et charger le contexte pour moi. Pour une raison quelconque, lorsque le contexte de l'application est créé le Printemps ne peut pas trouver les fichiers de configuration. Ceci est source de confusion parce que je lance le test à partir du même répertoire de travail que lorsque je charge la config moi-même à l'aide de FileSystemXmlApplicationContext. Si j'ajoute tous mes config emplacements avec "fichier:" les chemins je l'ai préciser dans mon test sont trouvés, mais tous les fichiers qui sont importés ou référencés par des beans définis dans le fichier de configuration (par exemple, des fichiers de propriétés) ne peut pas être trouvé. Quel est le problème? Puis-je obtenir des tests d'étendre le printemps contexte classes de test sont les mêmes que ceux où j'ai créer le contexte de moi-même?

Par exemple, la création du contexte comme celui-ci fonctionne très bien:

ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[] { "WEB-INF/services-context.xml"})

Si je prolonge AbstractTransactionalDataSourceSpringcontexttests ne pas trouver services-context.xml:

@Override
protected String[] getConfigLocations() {
   return new String[] { "WEB-INF/services-context.xml"};
}

Ce trouve les services de contexte, mais la PropertyPlaceholderConfigurer défini dans il ne parvient pas à trouver c'est des fichiers de propriétés.

 @Override
 protected String[] getConfigLocations() {
    return new String[] { "file:WEB-INF/services-context.xml"};
 }

OriginalL'auteur Adam B | 2009-06-17