Использовать Scala для модульного тестирования Java? - PullRequest
17 голосов
/ 19 июля 2009

Я знаком с использованием фиктивных объектов, чтобы помочь модульному тестированию моих типов Java, но обнаружил, что негибкость может привести к многословным и громоздким типам тестов и большому количеству повторений.

Я смотрел на использование Groovy для юнит-тестов с умеренным успехом. Я заинтересован в изучении Scala для себя, но также хотел бы получить несколько советов по его использованию для тестирования Java. У кого-нибудь есть советы или рекомендации по использованию Scala для этого?

Обновление, чтобы уточнить, что я после:

Я видел, что в Scala есть инструменты для модульного тестирования, такие как ScalaTest . и ScalaCheck , но они сосредоточены на том, как выполнять механику тестирования. Я ищу некоторые передовые практики и / или советы и подсказки о том, как подходить к юнит-тестированию с помощью Scala. Например, эквивалент статьи о лучших практиках Javaworld JUnit или список анти-паттернов для указания на распространенные ошибки или полезные соглашения.

Ответы [ 3 ]

7 голосов
/ 19 июля 2009

Конечно, вы можете использовать Scala для тестирования Java. Фактически, поскольку инфраструктуры тестирования Scala хорошо интегрируются с JUnit, вы можете писать тесты в Scala и запускать их из Eclipse через JUnit.

Существует три важных фреймворка: ScalaTest, общий, очень гибкий; ScalaCheck, основанный на платформе тестирования Haskell, генерирует случайные данные, чтобы проверить условия для вас; Спецификации, в целом, похожи по объему на ScalaTest, но имеют более BDD-ориентированный синтаксис.

3 голосов
/ 12 января 2011

В этой презентации есть несколько советов по использованию Scala для тестирования кода Java: проникновение Scala в вашу организацию .

0 голосов
/ 12 января 2011

Обратите внимание, что компиляция может быть довольно медленной, хотя. Я заметил, что во время программирования на Java я нажимаю сочетания клавиш для запуска тестов несколько чаще, чем когда я программирую на Scala. На самом деле, в Scala вы определенно хотите, чтобы что-то вроде SBT сидело на заднем плане и непрерывно тестировало ваш код. Это означает, что - если все, что вам нужно, это иметь тесты, написанные на Scala, - вам, возможно, придется потянуть немного больше, чтобы сделать это чем-то удобным.

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