ちょっとハマったのでメモ
sbtプロジェクトを作成したのちに、eclipse上でJunitテストをできる環境を構築します。
Eclipseで右クリックからの scala Junit Testができるので非常に便利
まずディレクトリおよびファイルを以下の構成で作成します
$ tree . ├── build.sbt ├── project │ ├── build.properties │ └── plugins.sbt └── src ├── main │ ├── resources │ └── scala │ └── Model.scala └── test ├── resources └── scala └── ModelSpec.scala 8 directories, 5 files
次にファイルの中を記述します
- build.sbt
name := "sample" version := "1.0" scalaVersion := "2.11.6" javaOptions in run += "-Djava.library.path=" + System.getProperty("java.library.path") + ":lib" libraryDependencies ++= Seq( "org.specs2" %% "specs2-core" % "3.6.2" % "test", "org.specs2" % "specs2-junit_2.11" % "3.6.2" ) scalacOptions in Test ++= Seq("-Yrangepos") retrieveManaged := true // lib_managedへjarをコピーする
- build.properties
sbt.version=0.13.8
- plugins.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
- Model.scala
case class Model(ival:Int,sval:String)
- ModelSpec.scala
import org.specs2.mutable._ import org.specs2.runner.JUnitRunner import org.junit.runner.RunWith @RunWith(classOf[JUnitRunner]) class ModelSpec extends Specification { "model" should { "value check" in { val model=new Model(1,"s") model.ival mustEqual 1 model.sval mustEqual "s" } } }
Eclipseようにファイルプロジェクトファイルを作成してやります
$ sbt eclipse
.project .classpath .settingsが作成され、依存するjarファイルがlib_managedに取り込まれいるのが確認できます
このままeclipseで読み込んで、ModelSpec.scalaを右クリックからのScalaJunitTestでテストできます。