У меня проблема в моем тесте JUNIT с Spring boot: @Value не разрешен. Вот код:Тест Spring Boot: источник источника с @Value не разрешен
Spring загрузки конфигурации класса: тест
@Configuration
@PropertySource(value="classpath:/config/parametrage-environnement.properties",name="env")
public class ExternalRessourceConfiguration {
//To resolve ${} in @Value
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
return new PropertySourcesPlaceholderConfigurer();
}
}
Класс:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
@IntegrationTest
public class ConnexionEbicsResourceIntTest {
@Test
@Transactional
public void createConnexionEbics() throws Exception {
restConnexionEbicsMockMvc.perform(post("/api/connexionEbicss")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
.content(TestUtil.convertObjectToJsonBytes(connexionEbicsDTO)))
.andExpect(status().isCreated());
Java Ressource:
@RestController
@RequestMapping("/api")
public class ConnexionEbicsResource {
@Value("${env['connexion.proxy.host']}")
//@Value("${connexion.proxy.host}")
public String protocol;
@RequestMapping(value = "/connexionEbicss",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<ConnexionEbicsDTO> createConnexionEbics(@RequestBody ConnexionEbicsDTO connexionEbicsDTO) throws URISyntaxException {
log.debug("REST request to save ConnexionEbics : {}", connexionEbicsDTO);
String a = protocol;
}
В java ressource, когда я запускаю тест, «a» имеет значение null. Почему @Value не была решена, почему? Моя конфигурация загрузки весны была загружена ALL.
parametrage-environnement.properties файл находится в обоих путях: SRC/главная/ресурсы/конфигурации и SRC/тест/ресурсы/конфигурации (копировать/вставить)
Вы можете избежать использования 'ReflectionTestUtils', если вы использовали инъекцию конструктора –