Предложение ScalaTest - или любой другой специфической для Scala среды, в этом отношении, очень хорошо. Я хотел бы указать на что-то еще.
SBT .
SBT - это инструмент для сборки, такой как Ant, Maven или Make. Один интересный аспект, который будет иметь для нас значение, заключается в том, что он основан на Scala. Я не имею в виду, что у него есть специальные возможности для обработки кода Scala или написания его на Scala, хотя обе эти вещи верны. Я имею в виду, что он использует Scala-код вместо XML, такого как Maven и Ant, в качестве источника конфигурации.
Это само по себе интересно. Только сегодня я увидел замечательный пример отделения тестовых источников от программных источников, который я публикую здесь только потому, что это так здорово.
// on this project we keep all sources, whether they be Scala or Java, and whether they be
// regular classes or test classes, in a single src tree.
override def mainScalaSourcePath = "src"
override def mainJavaSourcePath = "src"
override def testScalaSourcePath = "src"
override def testJavaSourcePath = "src"
override def mainResourcesPath = "resources"
// distinguish main sources from test sources
def testSourceFilter =
"Test*.scala" | "Test*.java" |
"AbstractTest*.scala" | "AbstractTest*.java" |
"ScalaTestRunner.scala"
def mainSourceFilter = ("*.scala" | "*.java") - testSourceFilter
override def mainSources = descendents(mainSourceRoots, mainSourceFilter)
override def testSources = descendents(testSourceRoots, testSourceFilter)
Но что делает его еще более интересным, так это то, что SBT работает как консоль. Вы запускаете «sbt» и попадаете в консольный интерфейс, из которого вы можете вводить команды, например, «test», и запускать ваши тесты.