Подтвердить что ты не робот

Использовать Scala to unit test Java?

Я знаком с использованием mock-объектов, чтобы помочь unit test моим типам Java, но обнаруживаю, что негибкость может привести к многословным и громоздким типам тестов и много повторения.

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

Обновить, чтобы уточнить, что мне нужно:

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

4b9b3361

Ответ 1

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

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

Ответ 3

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