Résoudre Printemps @Valeur de l'expression dans JUnit tests

Voici un extrait d'un Printemps bean:

@Component
public class Bean {

    @Value("${bean.timeout:60}")
    private Integer timeout;

    //...
}

Maintenant je veux tester ce bean avec un test JUnit. Je suis donc à l'aide de la SpringJUnit4ClassRunner et la ContextConfiguration annotation.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class BeanTest {

    @Autowired
    private Bean bean;

    //tests ...

    @Configuration
    public static class SpringConfiguration {
        @Bean
        public Bean bean() {
            return new Bean();
        }
    }
}

Malheureusement, le SpringJUnit4ClassRunner ne peut pas résoudre le @Value expression, même si une valeur par défaut est fourni (un NumberFormatException est jeté). Il semble que le coureur n'est même pas capable d'analyser l'expression.

Est quelque chose qui manque dans mon test?

Ça ressemble à un fil similaire: stackoverflow.com/questions/17353327/...

OriginalL'auteur Harold L. Brown | 2014-01-02