아래 예제는 올바르게 작동합니다. 문제는 내가 @InjectMocks
주석이 필요하다는 것입니다. 그리고 SpringJUnit4ClassRunner.class
을 MockitoJUnitRunner.class
으로 대체하면 모든 것이 깨집니다 (testValue
대신 bar = null
).스프링 통합 테스트 : MockitoJUnitRunner를 사용하는 동안 @Value 삽입
수정 방법은 무엇입니까?
//@RunWith(MockitoJUnitRunner.class) // not work (
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = FooTest.Config.class)
@TestPropertySource(properties = {
"some.bar.value=testValue",
})
public class FooTest {
@Value("${some.bar.value}")
String bar;
@Test
public void testValueSetup() {
assertEquals("testValue", bar);
}
@Configuration
static class Config {
@Bean
public static PropertySourcesPlaceholderConfigurer propertiesResolver() {
return new PropertySourcesPlaceholderConfigurer();
}
}
}