В чем разница между MockMvc, RestAssured и TestRestTemplate? - PullRequest
0 голосов
/ 28 августа 2018

Насколько я знаю, MockMvc просто тестирует контроллер и высмеивает уровень обслуживания.

Пока RestAssured и TestRestTemplate тестируют работающий экземпляр нашего API.

Это правильно? И в чем разница между RestAssured и Spring Boot TestRestTemplate?

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

MockMvc является одним из классов в spring-test. Это в первую очередь используется для модульного тестирования уровня контроллера. Не только ваш класс контроллера. Это для проверки уровня контроллера. Но вы должны издеваться над сервисом и другими слоями. Следовательно это прежде всего используется для модульного тестирования.

TestRestTemplate снова является частью испытания пружины, как сказано в документации,

Удобная альтернатива {@link RestTemplate}, которая подходит для интеграционные тесты.

Это можно использовать для проверки вашей службы отдыха / конечных точек. Одним из главных отличий является использование MockMvc для модульного тестирования и TestRestTemplate для тестирования интеграции. Другими словами, для использования MockMvc вам не нужен работающий экземпляр сервера, но для TestRestTemplate вам потребуется.

RestAssured - это совершенно другая структура. Это не имеет ничего общего с весной. Это библиотека, которая предоставляет различные способы тестирования любой службы REST с использованием интерфейса в стиле BDD.

0 голосов
/ 28 августа 2018

Как уже упоминалось, MockMvc используется для макета сервисного уровня. Это полезно в unit-testing кода.

Принимая во внимание, что RestAssured и TestRestTemplate используются для integration-testing, который является окончательным тестированием API.

Кроме того, между RestAssured и TestRestTemplate Spring Boot нет большой разницы. Вы можете использовать RestAssured для Spring-Boot Application или продолжить с TestRestTemplate, который является библиотекой Spring.

...