Я установил Eclipse Luna. Затем я установил Scala IDE через Help
-> Install new software
и добавил сайт программного обеспечения со ссылкой здесь. Затем я установил sbt 0.13 и sbteclipse с помощью этого мини-руководства и создал проект eclipse. Затем я установил (своего рода) scalatest, добавив его в свой build.sbt. Теперь это выглядит так:
val scalaTest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
lazy val commonSettings = Seq(
scalaVersion := "2.11.6"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
libraryDependencies += scalaTest
)
Затем я создал тест на основе этого примера. Файл с именем FirstSpec.scala
находится в папке testProject/src/test/scala-2.11/testProject/
. Итак, вот проблема: eclipse, похоже, не видит scalaTest. Вторая строка с import org.scalatest._
подчеркнута красным цветом с описанием ошибки object scalatest is not a member of package org
. И, следуя этому руководству, я не вижу вариант Run As -> ScalaTest - Suite
при выборе тестового класса . В то же время все идет хорошо, когда я запускаю сеанс sbt в своем тестовом проекте и набираю команду test
. Тесты запускаются и проходят.
Итак, мои вопросы:
- почему eclipse не видит scalestest, если я поместил его в
libraryDependencies
build.sbt
? В чем тогда смысл библиотечных зависимостей? - Почему
sbt test
без проблем выполняет тесты? Если sbt видит scalatest, почему eclipse не может?