Как заставить источник тестовых свойств работать при аннотации в классе конфигурацииJAVA

Программисты JAVA общаются здесь
Anonymous
Как заставить источник тестовых свойств работать при аннотации в классе конфигурации

Сообщение Anonymous »

Я пытаюсь настроить класс, который будет использовать свойство test при выполнении теста Springboot

application.properties

Код: Выделить всё

meta=value

application-test.properties

Код: Выделить всё

meta=value-test

Код: Выделить всё

@Configuration
@TestPropertySource("/application-test.properties")
public class AppConfig {
}

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {AppConfig.class, TestService.class})
//@TestPropertySource("/application-test.properties")
public class SpringTest {

@Autowired
private TestService testService;

@Value("${meta}")
private String value;

@Test
public void test() {
System.out.println(value); // "value"
}
}
Когда @TestPropertySource("/application-test.properties") аннотируется в SpringTest, значение «мета» будет считываться из application-test.properties
code> как "value-test".
Но когда @TestPropertySource("/application-test.properties") аннотируется только в AppConfig.class, это не сработает. Значение «мета» будет считываться из application.properties как «значение».
Я хочу добиться того, чтобы каждый весенний тест, который пытается загрузить AppConfig.class, использовал приложение -test.properties автоматически.
Как этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/790 ... nfig-class

Вернуться в «JAVA»