java.lang.IllegalStateException: ошибка конфигурации: найдено несколько объявлений @BootstrapWith для тестового класса - PullRequest
1 голос
/ 19 апреля 2019

У меня есть проект Spring-boot и REST API.Я пытаюсь проверить операцию findAll @GET.Следующий тестовый пример для метода отображения всех записей.

  @Before
        public void setUp() throws Exception {
            mockMvc = MockMvcBuilders.standaloneSetup(batchJobConfigController).build();
        }

@Test
public void testBatchJobConfigs() throws Exception {
    BatchJobConfigDTO mockBatchJobConfigDTO = new BatchJobConfigDTO("Doctor", "ER Doctor", "Started", "Full Time");

    batchJobConfigDTOs.add(mockBatchJobConfigDTO);

    when(mockBatchJobConfigService.findAllBatchJobConfigs()).thenReturn(batchJobConfigDTOs);
    mockMvc.perform(get("/configs").accept(MediaType.APPLICATION_JSON))
            .andExpect(MockMvcResultMatchers.status().isOk())
            .andExpect(MockMvcResultMatchers.jsonPath("$.jobNm", Matchers.is("Enginerring")))
            .andExpect(MockMvcResultMatchers.jsonPath("$.jobDesc", Matchers.is("Coding, Testing and stuff")))
            .andExpect(MockMvcResultMatchers.jsonPath("$.status", Matchers.is("Progress")))
            .andExpect(MockMvcResultMatchers.jsonPath("$.jobType", Matchers.is("INFA")));
    verify(mockBatchJobConfigService, times(1)).findAllBatchJobConfigs();
    verifyNoMoreInteractions(mockBatchJobConfigService);

}

Я получаю следующий запуск в JUnit4.В чем может быть причина?

java.lang.IllegalStateException: Configuration error: found multiple declarations of @BootstrapWith for test class [com.controller.BatchJobConfigControllerTest]: 

Ответы [ 2 ]

0 голосов
/ 19 апреля 2019

Добавление аннотации @ContextConfiguration и определение класса, включая имя пакета, решило эту проблему. @ContextConfiguration (classes = com.somepath.pack.Application.class)

0 голосов
/ 19 апреля 2019

Это исключение возникает, когда весенний тест не может найти основной класс конфигурации.Попробуйте добавить аннотацию @ContextConfiguration в свой тестовый класс.

например

@RunWith(SpringRunner.class)
@ContextConfiguration(classes=Application.class)
@WebMvcTest(MyController.class)
public class MyConrollerTests {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...