Внедрение зависимостей не работает в SpringBoot с интеграционным тестом Junit 5

Я работаю над настройкой теста интеграции с SpringBoot и Junit5 после этого руководство

Но когда я запускаю этот тестовый файл без аннотации @RunWith(SpringRunner.class), выдается исключение NullPointerException, поскольку RecordService не внедряется.

@ExtendWith(SpringExtension.class)
@SpringBootTest
@DefaultTestAnnotations // This is my meta-annotations
public class RecordServiceImplTest {

    @Autowired
    private RecordService recordService; // This is null.

    @Test
    public void whenSearchParametersAreProvided_ItShouldGetTheGoldenRecord() throws MdmMatchServiceException {
        GoldenRecordDTO searchParams = new GoldenRecordDTO();
        searchParams.setCountryCode("CN");
        searchParams.setName("neeraj");
        assertNotNull(recordService.getGoldenRecord(searchParams));
    }
}

Обязательно ли иметь @RunWith(SpringRunner.class) для запуска интеграционных тестов?

Можете ли вы также вставить раздел импорта этого тестового класса?

luboskrnac 28.03.2019 08:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
1
1 108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я подозреваю, что вы импортировали аннотацию JUnit4 org.junit.Test вместо аннотации JUnit5: org.junit.jupiter.api.Test.

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