Каковы преимущества использования groovy для написания интеграционных тестов для приложений java? [закрытый]

Я видел несколько сообщений (например, здесь 1) предлагая использовать groovy для написания интеграционных тестов для java-приложений на языке программирования groovy. Я работаю над приложением, используя следующие технологии: Java 7, java EE 6, POSTGRESQL

Я знаю, что groovy это

  • простота интеграции с java
  • быстро писать код

но есть ли какая-то особая причина использовать его для своего? Добавив еще язык программирования для вашей кодовой базы не сделает вашу жизнь адом? Я думаю, что мне чего-то не хватает на картинке, поэтому я был бы признателен за ваши ответы.

2 ответов


Я скоро начну проект с точно таким же стеком, как у вас, но Groovy также будет в производственном коде, а не только в тестах.

нет проблем в добавлении Groovy в вашу кодовую базу, потому что это простой язык. Это была бы другая история, если бы вы включили какой-то язык, который не очень похож на java, скажем haskell или prolog. Вы уже включаете Facelets, EL, CSS, HTML и Javascript. Какая часть добавления другого языка плоха? :-)

в основные моменты подбираю для Groovy в IT тестах:

  • легко писать утверждения и макет данных;
  • лаконичность в коде;
  • плавная кривая обучения;
  • краткий код для работы с автоматизацией браузера, как ГЭБ;

другие просто-чтобы-круто-забыть вещи в Groovy:

  • легко писать XML / JSON (если вам нужны тестовые веб-сервисы, например);
  • статическая компиляция, если вы нужно;

У нас были тестовые команды в двух моих последних компаниях, которые не работали в производственном коде, но начали писать тесты в Groovy довольно быстро и наслаждались языком: не беспокойтесь о типах и вещах, просто рабочие тесты!


Я думаю, что его следует читать, поскольку Groovy особенно хорош для написания тестов по сравнению с Java. В Groovy нет ничего, что вы не можете сделать на Java, но это часто потребует огромных усилий. Что-то вроде Спока, например, было бы почти нечитаемым на Java.

Это много мелких вещей, которые делают это так. Например, есть утверждения power, которые делают вывод ошибок утверждения из утверждений assert в Groovy очень приятным. Бесшовная интеграция позволяет не иметь дополнительного кода для выравнивания языков миров. Возможности DSL позволяют легко писать минимальные DSL для уменьшения шаблонного кода. Все это позволяет вам увидеть, что вы на самом деле тестируете и как. Потому что если тест терпит неудачу, вы должны точно понять эту часть, и это сокращает время, необходимое для написания тестов.

все, что я могу посоветовать-это попробовать немного. Это либо убеждает вас, либо нет. Если ваши случаи очень просты, то, возможно, Java достаточно хорош для вас. Если тестирование становится более сложным, тогда необходимость понять какой-то Заводной код может быть меньшим препятствием здесь. Не забывайте: как разработчик Java вам не нужно слишком много понимать о Groovy, чтобы правильно использовать его и писать хорошие модульные тесты с ним.