Comment tester afterPropertiesSet méthode dans mon printemps application?
Je suis en train de travailler sur l'écriture de certains de test junit pour mon ressort de l'application. Ci-dessous mon application qui implémente InitializingBean interface,
public class InitializeFramework implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
try {
} catch (Exception e) {
}
}
}
Maintenant, je veux appeler afterPropertiesSet
méthode de mon test junit mais de toute façon, je ne suis pas en mesure de comprendre quelle est la bonne façon de le faire? J'ai pensé, je peux utiliser la réflexion pour appeler cette méthode, mais je ne pense pas, c'est une bonne façon de le faire?
Quelqu'un peut-il me fournir un exemple simple de ce sur comment écrire une simple junit test qui permettra de tester afterPropertiesSet
méthode dans InitializeFramework
classe?
Voulez-vous simplement appeler la méthode? Ou voulez-vous de Printemps pour le faire?
Quelle est la différence entre ceux-là? C'est la façon dont il fonctionne au débit réel - afterPropertiesSet méthode appelle une méthode-un et ensuite de la méthode-un va appeler d'autres méthodes... Donc, je pensais à écrire de test junit pour tester le débit réel...
Si vous avez une instance de
Quelle est la différence entre ceux-là? C'est la façon dont il fonctionne au débit réel - afterPropertiesSet méthode appelle une méthode-un et ensuite de la méthode-un va appeler d'autres méthodes... Donc, je pensais à écrire de test junit pour tester le débit réel...
afterPropertiesSet()
est une méthode normale. Si vous testez vos haricots dans l'isolement, vous pouvez simplement appeler à partir de votre code de test.Si vous avez une instance de
InitializeFramework
, il suffit d'appeler afterPropertiesSet
sur elle. Le printemps du contexte classes sont setup pour appeler afterPropertiesSet
sur des objets de type InitializingBean
.OriginalL'auteur AKIWEB | 2013-09-12
Vous devez vous connecter pour publier un commentaire.
InitializingBean#afterProperties()
sansApplicationContext
est juste une autre méthode pour mettre en œuvre et de l'appeler manuellement.Du printemps
BeanFactory
les implémentations de détecter des cas dans le contexte de typeInitializingBean
et, après toutes les propriétés de l'objet ont été défini, appelez leafterPropertiesSet()
méthode.Vous pouvez tester que trop de votre
InitializeFramework
bean être construite par unApplicationContext
mise en œuvre.Dire que vous avez
Et quelque part dans un test (pas vraiment junit digne pourtant, plus d'un test d'intégration)
Lorsque le contexte de charge, vous remarquerez que le
afterPropertiesSet()
méthode de laInitializeFramework
bean est appelé.You can test that too by having your InitializeFramework bean be constructed by an ApplicationContext implementation.
je pourrais aussi essayer avec cette démarche ainsi bcoz , je suis de passage certaines propriétés de ce fichier xml où bean est construit..Voir mon edit. Aussi, rien ne vous empêche de l'appel de la
afterPropertiesSet()
vous-même (et éventuellement de mettre en cache le résultat).Il pourrait également aider à comprendre ce qu'est un
FactoryBean
est. Lire son javadoc.OriginalL'auteur Sotirios Delimanolis