Spock — фреймворк для Javer-ов, которые не любят писать Unit тесты

Я Java программист! Написание кода — это основа нашей профессии. Где-то рядом находится и его тестирование через написание юнит тестов.

Признаюсь честно — не люблю писать тесты… Меня напрягает тот факт, что для проверки 5-ти строк кода мне надо написать еще 20. Ошибиться можно в любом коде, даже в том, что призван проверить другой. А ведь еще надо знать фреймворки (JMock, EasyMock, PowerMock), стандарты, best practices.

Поймите правильно, я не умаляю важность проверки того, что ты сделал. И, пусть без особого рвения, конечно же, пишу эти самые тесты. Меня парит то, как это делается. И тут вдруг, в одном из проектов, клиент навязывает нам Spock — очередной фреймворк для тестирования, только на Groovy. Надо, так надо. Не долго думая, вся команда в него ныряет, иииии…. Вот оно! Наконец-то тестирование стало простым, логичным, интуитивно понятным и, что не маловажно — быстрым!

Поясняю:

  • Тесты — это та часть приложения, которая никак не фигурирует в процессе работы приложения, но требует не мало времени в процссе его создания.
  • Groovy — это язык программирования который, как и Java, выполняется в JVM, но содержит много разных примочек, ускоряющих и упрощающих процесс разработки, что не всегда положительно влияет на производительность в целом.
  • Spock — это Groovy фреймворк для написания тестов в стиле BDD для Java и Groovy приложений.

Мы применили Spock в Groovy проекте. Продолжили применять в паралельно идущем Java проекте. Приложив меньше усилий, чем ожидали, мы добились хорошего покрытия с читабельными тестами, которые просто поддерживать.

Раньше я всех пытался убедить в том, что Flash лучше чем JavaScript (я знаю, что он вымирает, но он продолжает мне нравиться) и Wicket лучший Java Frontend фреймворк. Список пополнился эффективным фреймворком для Unit тестирования.

Мои выводы:

  • Писать тесты на Groovy проще и быстрее
  • Писать тесты в стиле BDD логичнее и читабельнее
  • Spock (BDD тесты на Groovy) — позволяет сделать этот процесс эффективным (меньше времени и нервов)
А тут презентация:

Add a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *