Как смоделировать весенние репозитории в интеграционных тестах? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть ResponseBodyAdvice, я хочу проверить. Эти советы применяются к Entity, который обслуживается через MongoRepository.

. Тестовый пример довольно прост:

  • создать ложный ответ и настроить насмешку
  • вызовите конечную точку HTTP-GET
  • , убедитесь, что изменения ResponseBodyAdvice были применены

Однако я не могу смутить Repository.

ResponseAdvisorIT.java

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class ResponceAdviceIT {

  @MockBean
  private RepositoryToMock repository;
  @Autowired
  private MockMvc mockMvc;

  @Test
  public void test() throws Exception {
    final var id = UUID.randomUUID();
    final var mockedEntity = mockEntity(id);

    doReturn(mockedEntity)
      .when(repository).findById(id);

    mockMvc.perform(
      get("/entities")
        .accept(MediaType.APPLICATION_JSON)
    ).andExpect(
      status().isOk()
    );
  }

}

Выполнение этого кода дает AssertionError для статуса HTTP, который равен 404 вместо 200.

Как мне настроить настройки теста, чтобы этот тест работал?

...