Тестирование Scala: каково состояние и взаимосвязь между SUnit, ScalaTest, ScalaCheck, Specs и ParTest? - PullRequest
21 голосов
/ 01 августа 2011

Scala предоставляет на выбор различные платформы тестирования, но мне интересно, есть ли различия в зрелости и стабильности, которые они имеют, и какие отличительные особенности они предоставляют.

Есть ли конкретный, который должен подходить для всех видов развития?

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

Ответы [ 2 ]

24 голосов
/ 01 августа 2011
  • SUnit больше не существует .
  • ScalaTest и спецификации являются зрелыми, поддерживаются и получают улучшения (Specs2, кстати, недавно вышел).Выбор между ними - дело вкуса.
  • У ScalaCheck нет особенно хороших участников, но и ScalaTest, и спецификации имеют специальную поддержку для интеграции ScalaCheck.Он считается важным инструментом.
  • ParTest используется только для компилятора, так как он проверяет такие вещи, как "это компилировать?"и "это не компилируется?", сообщения об ошибках и предупреждения и т. д. Он не предназначен для разработки приложений и не должен использоваться для этого.
9 голосов
/ 01 августа 2011

ScalaTest и спецификации имеют очень похожий синтаксис и список функций, и они оба приняты сообществом. Они оба допускают юнит и приемочные испытания.

У ScalaCheck принципиально иная философия. Тесты генерируют случайные экземпляры и проверяют, сохраняются ли некоторые свойства. Свойства и генераторы могут быть определены и составлены в удобной функциональной форме. ScalaTest и спецификации позволяют писать свойства ScalaCheck внутри тестов.

SUnit был удален до начала программирования в Scala, поэтому я понятия не имею, как это работает. Я никогда не слышал о ParTest до вашего вопроса.

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