解析 JUnit 测试中的弹簧@Value表达式
下面是一个春豆的片段:
@Component
public class Bean {
@Value("${bean.timeout:60}")
private Integer timeout;
// ...
}
现在我想用JUnit测试来测试这个bean。因此,我使用的是SpringJUnit4ClassRunner和 ContextConfiguration注释。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class BeanTest {
@Autowired
private Bean bean;
// tests ...
@Configuration
public static class SpringConfiguration {
@Bean
public Bean bean() {
return new Bean();
}
}
}
不幸的是,SpringJUnit4ClassRunner无法解析表达式,即使提供了默认值(抛出NumberFormatException)。似乎跑步者甚至无法解析表达式。@Value
我的测试中是否缺少某些内容?