Здесь приведен фрагмент Spring bean:
@Component
public class Bean {
@Value("${bean.timeout:60}")
private Integer timeout;
// ...
}
Теперь я хочу протестировать этот bean с помощью теста JUnit. Поэтому я использую 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 не может разрешить выражение @Value
, даже если предоставляется значение по умолчанию (бросается NumberFormatException). Кажется, что бегун даже не способен анализировать выражение.
Что-то не хватает в моем тесте?