Java Spring - Как использовать значение из application.properties с @WithUserDetails - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу использовать значение из application.properties с аннотацией @WithUserDetails() для моих тестов.

Мой текущий код:

@Value("${user.admin}")
private String ADMIN;

@Test
@WithUserDetails(ADMIN)
public void foo() { 
}

отображает ошибку "Значение атрибута должно бытьконстанта "

Я использую junit4 с пружинным бегунком

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Кажется, что этого нельзя сделать, компилятор Java не допустит этого, поскольку не считает значение из @Value() константой во время компиляции.

0 голосов
/ 06 февраля 2019

Java имеет встроенные возможности для чтения файла .properties, а JUnit имеет встроенные возможности для запуска кода установки перед выполнением набора тестов.

Свойства чтения Java:

Properties p = new Properties();
p.load(new FileReader(new File("application.properties")));

Документация по запуску junit

соедините эти 2 вместе, и у вас должно быть то, что вам нужно.

Но да, минимальным требованием является наличие файла application.properties в вашем пакете test->resources.

...