Файл свойств Spring jUnit Testing ⇐ JAVA
-
Гость
Файл свойств Spring jUnit Testing
У меня есть тест jUnit, у которого есть собственный файл свойств (application-test.properties) и файл конфигурации Spring (application-core-test.xml).
Один из методов использует объект, созданный с помощью конфигурации Spring, и который является компонентом Spring. Один из членов классов получает свое значение из файла application.properties, который является нашим основным файлом свойств. При доступе к этому значению через jUnit оно всегда равно нулю. Я даже пытался изменить файл свойств, чтобы он указывал на реальный файл свойств, но, похоже, это не работает.
Вот как я получаю доступ к объекту файла свойств
@Component @PropertySource("путь к классу:application.properties") публичный абстрактный класс A { @Value("${test.value}") общедоступное строковое значение; общественный А () { SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(это); } общественный A (строковый текст) { этот(); // делаем что-то с текстом и значением.. здесь я натыкаюсь на NPE } } общественный класс B расширяет A { //код addtnl частный Б() { } частный B (строковый текст) { супер(текст) } } @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:META-INF/spring/application-core-test.xml", «путь к классам: META-INF/spring/application-schedule-test.xml»}) @PropertySource("путь к классу:application-test.properties") общественный класс TestD { @Value("${value.works}") общедоступное строковое значениеWorks; @Тест общественный недействительный тестBlah () { SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(это); B b= новый B («бла»); //...код addtnl } }
У меня есть тест jUnit, у которого есть собственный файл свойств (application-test.properties) и файл конфигурации Spring (application-core-test.xml).
Один из методов использует объект, созданный с помощью конфигурации Spring, и который является компонентом Spring. Один из членов классов получает свое значение из файла application.properties, который является нашим основным файлом свойств. При доступе к этому значению через jUnit оно всегда равно нулю. Я даже пытался изменить файл свойств, чтобы он указывал на реальный файл свойств, но, похоже, это не работает.
Вот как я получаю доступ к объекту файла свойств
@Component @PropertySource("путь к классу:application.properties") публичный абстрактный класс A { @Value("${test.value}") общедоступное строковое значение; общественный А () { SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(это); } общественный A (строковый текст) { этот(); // делаем что-то с текстом и значением.. здесь я натыкаюсь на NPE } } общественный класс B расширяет A { //код addtnl частный Б() { } частный B (строковый текст) { супер(текст) } } @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:META-INF/spring/application-core-test.xml", «путь к классам: META-INF/spring/application-schedule-test.xml»}) @PropertySource("путь к классу:application-test.properties") общественный класс TestD { @Value("${value.works}") общедоступное строковое значениеWorks; @Тест общественный недействительный тестBlah () { SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(это); B b= новый B («бла»); //...код addtnl } }
Мобильная версия