Загружать свойства при использовании MockitoJUnitRunner

Я пытаюсь загрузить значение свойства из моего application-test.properties в своих модульных тестах службы (используя MockitoJUnitRunner.class), но оно всегда получает нулевое значение с использованием аннотации @Value.

@RunWith(MockitoJUnitRunner.class)
public class AlertQueryServiceImplTest {

@Value("${raw.path}")
private static String rawJson;

@InjectMocks
private AlertQueryServiceImpl alertQueryServiceImpl;

@Mock
private AlertCBDAOImpl alertCBDAOImpl;

private List<Alert> alertListExpected;

@Before
public void setUp() {
    ReflectionTestUtils.setField(alertQueryServiceImpl, "url", "http://someurl");
    alertListExpected = JsonUtils.
            loadObjectList(Alert.class, JsonUtils.ALERTS_FILE);
    assertFalse(alertListExpected.isEmpty());
}

@Test
public void shouldReturnAlerts() {
    User userTest = new User("108998", "3000747091");
    JsonDocument jsonDocExpected = JsonUtils.stringToJsonDocument(rawJson, userTest.getAssociatedBE());

    when(alertCBDAOImpl.getDoc(userTest.getAssociatedBE())).thenReturn(jsonDocExpected);
    when(alertCBDAOImpl.getAlerts(jsonDocExpected)).thenReturn(alertListExpected);
}
}

Как мне загрузить свойство raw.path в поле rawJson?

Вы нашли решение? У меня точно такая же проблема.

Ajay Singh 15.07.2020 19:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
2 173
1

Ответы 1

Сначала вам нужно установить активный профиль для доступа к файлу application-test.properties, вы можете сделать это с помощью аннотации @ActiveProfiles ("test") в вашем тестовом классе. https://www.baeldung.com/spring-testing-separate-data-source Я не думаю, что аннотация @Value будет работать со статическим ключевым словом.

Другие вопросы по теме