Разработка шаблона для тестирования сервисов RESTful - PullRequest
0 голосов
/ 11 ноября 2011

Контроллер состоит из двух основных частей:

  • Отображенный URL-адрес
  • Код внутри метода

При написании тестового примера есть две частитестовое задание.

  • Тестирование URL-адресов и сопоставления
  • Тестирование кода внутри функции после сопоставления

Использование классических тестовых примеров, использование фиктивного HttpServletResponse и т. Д. С использованием RESTtemplates (вместо использования curl) есть важные вещи

Вопрос в том, какой из них использовать, как их использовать, как их объединять, и требуется ли логически разделить эти две тестовые части?

Какой тип шаблона использовать для тестированияОТДЫХАЯ служба.

1 Ответ

1 голос
/ 11 ноября 2011

Прежде всего:

  • Хорошие тесты находят ошибки. (Тесты не должны найти ошибку сейчас, они также являются хорошими тестами, когда они находят ошибку где-то в будущем, когда кто-нибудь что-то меняет.)
  • Плохой тест не обнаружил ошибок. ( Если ни один тест никогда не заканчивался, все время, пока проект разрабатывался или поддерживался, тогда тест бесполезен. )
  • И тесты никогда не доказывают, что ошибки нет!

Поэтому, когда я пишу тесты, я стараюсь писать их как можно проще, но также стараюсь проверять все, что, как я верю, может пойти не так.

Так, например, ваши Restfull Services:

Конечно, в логике может быть много ошибок, поэтому для них нужно написать много тестов. Но эти тесты могут напрямую вызывать метод и, таким образом, его относительность легко написать тесты. Гораздо проще, чем вызывать методы через некоторые HTTP-вызовы.

Но, конечно, в HTTP-приглашении может быть ошибка, поэтому ее необходимо проверить. Но потому что я уже проверил «код» с помощью моих обычных модульных тестов. Мне нужно только не так много из этого сложного для написания теста. И в этом тесте больше внимания уделяется ошибкам, которые могут быть сделаны при неправильном отображении или неправильной серилизации.

Итак, в конце: используйте все виды тестов, которые вы можете написать (Unit Test, Mocked Stuff, HttpUnit test, Selenium, ...). Но сначала подумайте о проблеме, которую вы хотите проверить. И выберите тип теста, в котором вы можете легко написать и поддерживать этот тест.


Кстати @see RestFuse - расширение JUnit

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