Se moquant d'un fichier de Propriétés avec Mockito au Printemps

Je suis en train d'écrire un test unitaire pour la méthode suivante dans mon contrôleur.

@Autowired
    private ApplicationContext context;

    private String getProperty() {
        try {
            Properties props = context.getBean("myProperties", Properties.class);
            String val = props.getProperty("myProperty");
......

Le Haricot est déclarée comme telle dans mon applicationContext:

<util:properties id="myProperties" scope="prototype" location="file:${catalina.base}/webapps/myProperties.properties"/>

Comment se moquer de ce que je puisse tester différentes valeurs du val variable?

J'ai pensé à la création d'un test de fichier de propriétés et en se moquant comme ceci:

context = Mockito.mock(ApplicationContext.class);
Mocikto.when(context.getBean("myProperties", Properties.class)).thenReturn(some test file)

mais alors je dois déclarer le fichier de test comme un haricot quelque part.

Je me demandais si il y avait un moyen plus facile de faire cela?

Grâce

Êtes-vous à l'aide de Spring MVC? Plutôt que de donner votre contrôleur une référence à l'ApplicationContext et en tirant des valeurs, vous pouvez simplement définir un champ sur votre Contrôleur et de définir une valeur pour elle dans le contrôleur de la fève à la définition. Le test devient un non-problème, parce que vous pouvez initialiser votre contrôleur toutefois que vous voulez dans votre tests - pas besoin de se moquer de l'Application de Contexte.

OriginalL'auteur blong824 | 2011-06-17