Тестирование сервера с помощью JUnit - PullRequest
5 голосов
/ 04 июня 2011

Я хотел бы проверить мой REST-сервер с JUnit.Каждый тест отправляет HTTP-запрос на сервер и проверяет ответ по списку элементов, которые должны появиться в ответе.

Итак, процедура тестирования выглядит следующим образом:

for each request in test requests
   send request and receive response
   assert the response is ok
   for each element in the expected elements
      test if the element exists in the response

Как бы вы реализовали это с JUnit?

1 Ответ

6 голосов
/ 04 июня 2011

Я бы использовал метод @BeforeClass в вашем классе JUnit, чтобы получить последнюю версию вашего сервера и запустить ее (выбор подходящего порта и т. Д.). Точно так же @AfterClass может использоваться для программного выключения сервера. Это важно сделать автоматически, так как в противном случае вы должны помнить, что последняя версия вашего сервера должна работать постоянно.

Я предположил, что тесты не изменяют никаких данных на сервере. Если они это сделают, то вам, вероятно, следует использовать @Before и @After, но имейте в виду, что это приведет к запуску / остановке вашего сервера для каждого теста, и это может сделать тестирование слишком длительным.

После того, как вы установили этот фреймворк, написание самого теста должно быть простым.

Вы также можете написать это как «правильный» модульный тест, убедившись, что ваш RESTful API представлен как простой Java-API, изолированный от сетевого уровня. Это было бы намного быстрее, и (надеюсь, если ваш сетевой уровень достаточно тонкий), выявляет много таких же возможных ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...