Spring Boot: достаточно ли MockMvc для проверки ответов сервера в интеграционных тестах?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot: достаточно ли MockMvc для проверки ответов сервера в интеграционных тестах?

Сообщение Anonymous »

У меня есть конечная точка /api/employees, и я хочу проверить правильность обработки HTTP-запросов. Я новичок в Spring Boot и прошел курс интеграционных тестов. После этого курса я ожидал, что следующий тест выполнит HTTP-вызов к моему приложению и что я смогу проверить, ведет ли приложение ожидаемое (полный образец репозитория см. в этом репозитории)

Код: Выделить всё

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class EmployeeControllerH2IT  {
@Autowired
private MockMvc mockMvc;

@Autowired
private EmployeeRepository employeeRepository;

@Autowired
private ObjectMapper objectMapper;

private Employee employee;

@BeforeEach
void setup() {
employeeRepository.deleteAll();
employee =
Employee.builder().firstName("John").lastName("Doe").email("[email protected]").build();
}

@Test
void givenEmployeeObject_whenCreateEmployee_thenReturnSavedEmployee() throws Exception {
ResultActions response =
mockMvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(employee)));

response.andDo(print()).andExpect(status().isCreated())
.andExpect(jsonPath("$.firstName", is(employee.getFirstName())))
.andExpect(jsonPath("$.lastName", is(employee.getLastName())))
.andExpect(jsonPath("$.email", is(employee.getEmail())));

assertThat(employeeRepository.count()).isEqualTo(1);
}
}
Сегодня я узнал, что MockMvc на самом деле не отправляет запросы по сети (я мог догадаться по названию, я думал, что это обычный http-клиент, но оптимизированный для @WebMvcTests).< /p>
Теперь у меня вопрос: достаточно ли MockMvc для проверки правильных ответов сервера в интеграционных тестах? Или должны ли «настоящие» интеграционные тесты выполняться по сети (с использованием «настоящего» http-клиента в качестве RestTemplate или OkHttp)? Я думаю, ответ «это зависит», но каковы здесь аргументы за/против makemvc?

Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-tests
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Spring Boot: достаточно ли MockMvc для проверки ответов сервера в интеграционных тестах?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Достаточно ли MockMvc для проверки ответов сервера в интеграционных тестах?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Проблема кодирования в тестах Spring Boot MockMvc
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как использовать ожидание с контекстом аутентификации в интеграционных тестах Spring Boot?
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как использовать ожидание с контекстом аутентификации в интеграционных тестах Spring Boot?
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»