Spring Batch JUnit 5 JobLauncherTestUtils не инициализируется - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь загрузить объект JobLauncherTestUtils в аннотации JUnit 5 и SpringBatchTest. Тем не менее, он не может загрузить контекст приложения. Все остальные бины с автопроводкой загружаются успешно, но не удается загрузить JobLauncherTestUtils. Вот моя тестовая конфигурация, исключая импорт. Я попытался вручную загрузить его в BeforeAll, но затем не удалось загрузить JobRepository и JobLauncher. Меня интересует только возможность успешно создать экземпляр JobLauncherTestUtils. Пожалуйста, помогите!

@ExtendWith(SpringExtension.class)

@ExtendWith(MockitoExtension.class)

@SpringBatchTest

@TestExecutionListeners({DependencyInjectionTestExecutionListener.class ,
    DirtiesContextTestExecutionListener.class})

@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)

@EnableAutoConfiguration

public class ProductsProcessorTest {

 @Autowired
 JobLauncherTestUtils jobLauncherTestUtils;

 @Autowired
 private JobRepositoryTestUtils jobRepositoryTestUtils;


 @MockBean
 JobLauncher jobLauncher;


@Autowired
JobRepository jobRepository;


@Autowired
OrderManagementService orderManagementService;


@MockBean
Job keyLoaderJob;


@Autowired
@JobScope
static ProductsLoader productsLoader;


//Tried manually instantiating it, but then would l

 @BeforeAll
 static void setUp() throws Exception {
    //jobLauncherTestUtils = new JobLauncherTestUtils();

 }
//This does not work either
 @BeforeEach
 void init(){
   // jobLauncherTestUtils.setJobLauncher(jobLauncher);
   // jobLauncherTestUtils.setJobRepository(jobRepository);
 }

....

}

Вот исключение, которое я получаю:

Причина: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'jobLauncherTestUtils': неудовлетворенная зависимость, выраженная через метод 'setJobRepository', параметр 0; вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного квалифицирующего компонента типа 'org.springframework.batch.core.repository.JobRepository': ожидается как минимум 1 компонент, который квалифицируется как кандидат для автоматической передачи. Аннотации зависимостей: {}

1 Ответ

0 голосов
/ 06 апреля 2020

Нет подходящего бина типа 'org.springframework.batch.core.repository.JobRepository' доступен

Эта ошибка означает, что в вашем тестовом приложении не определен бин JobRepository , Убедитесь, что вы импортируете класс, в котором определен этот компонент.

...