Как завершить тестирование API Springboot? - PullRequest
0 голосов
/ 09 января 2020

У меня есть следующий тестовый класс для тестирования моего API, и у меня есть следующая структура кода:

package controller -> UserController.java package service -> UserService.java package repository -> UserRepository.java

package endtoend -> EndToEndTest.java

@WebMvcTest(UserController.class)
class EndToEndTest {

@Autowired
private MockMvc mockMvc;

@Test
void shouldReturn200() throws Exception{
    mockMvc.perform(get("/users/{username}", "testUser"))
            .andExpect(status().isOk());
}

UserController. java имеет сопоставление Get -> @GetMapping("/users/{username}")

Но тест возвращает ошибку, из-за которой приложению не удалось запуститься и в нем отсутствует компонент типа UserService.

Мне кажется, что мне не хватает некоторых макетов, поскольку мой контроллер вызывает службу и репозиторий вызовов службы.

Пожалуйста, помогите!

1 Ответ

1 голос
/ 09 января 2020

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

...