Невозможно создать компоненты для тестирования с помощью @ContextConfiguration в junit 5 - PullRequest
1 голос
/ 27 июня 2019

Я пытаюсь написать тестовые случаи junit для своего приложения. После использования Junit 5 я не могу создать необходимые bean-компоненты с помощью @ ContextConfiguration.

Он не выдал никакой ошибки.Но во время Autowiring bean-компонентов в классе тестирования я получил значения NULL

. Я добавил следующие зависимости

testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0"
testCompile('org.junit.jupiter:junit-jupiter-params:5.3.0')
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.3.0"

и мой код

@ContextConfiguration(classes = ServiceTestContextConfiguration.class)
public class ApplicationConfigTest {

@Autowired
private ApplicationServiceConfiguration 

applicationServiceConfiguration;

@ContextConfiguration
public class ServiceTestContextConfiguration {
@Bean
public ApplicationServiceConfiguration applicationServiceConfiguration() {
    return new ApplicationServiceConfiguration();
}

Я использую пружинный ботинок 2.

1 Ответ

1 голос
/ 01 июля 2019

Может быть, мы смешали импорт junit4 с junit5. Давайте аннотируем класс конфигурации с помощью @Configuration (org.springframework.context.annotation.Configuration;).

В тесте основного модуля давайте используем следующее,

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = ServiceTestContextConfiguration.class)

Вместо @Before, используйте @BeforeEach и убедитесь, что все импортные данные из junit5 (включая утверждения)

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;
...