Я редактирую в Eclipse Scala IDE, и мои тесты выполняются на отдельном экране с использованием ~ test
в sbt. Мои тесты написаны с использованием specs2.
Это дает мне двойную компиляцию, и иногда Eclipse все еще собирается, пока sbt начинает срабатывать.
Чтобы решить эту проблему, я отключил автоматическую сборку, но это также удаляет хорошие предупреждения компилятора и ошибки в Eclipse.
Есть ли способ иметь оба без двойного времени компиляции?
Редактировать
Я предполагаю, что лучший способ (или, может быть, единственный способ) - это sbt
запускать тесты без их компиляции. Я попробовал команду test:run
, но это дает мне следующую ошибку:
java.lang.RuntimeException: No main class detected.
at scala.sys.package$.error(package.scala:27)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27$$anonfun$13.apply(Defaults.scala:519)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27$$anonfun$13.apply(Defaults.scala:519)
at scala.Option.getOrElse(Option.scala:108)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27.apply(Defaults.scala:519)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27.apply(Defaults.scala:518)
at sbt.Scoped$$anonfun$hf5$1.apply(Structure.scala:581)
at sbt.Scoped$$anonfun$hf5$1.apply(Structure.scala:581)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41)
at sbt.std.Transform$$anon$5.work(System.scala:71)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
Как я могу использовать ~ test:run
, пока Eclipse компилирует файлы?