ScalaTest
scalaでテスト書くのにScalaTestっていうのがなかなか良さそうな感じ。という事で使ってみた
build.sbt
sbtを使ってテストを実行できるようにする。んまぁディレクトリ構造はMavenと同様なので
├── build.sbt └── src ├── main │ └── scala │ └── sample │ └── Sample.scala └── test └── scala └── sample └── SampleSpec.scala
的な感じな構造で用意しておく。んまぁSample.scalaは適当なクラス定義してメソッドで値を返すようなのを定義しておく
ちょっと外れたけど、build.sbtを書いてプロジェクトの設定周りとかをやらないといけない
// 入れないとscala2.10が参照されてエラーになるっぽい
scalaVersion := "2.11.0"
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.1.6" % "test"
src/test/scala/sample/SampleSpec.scala
package sample
import org.scalatest._
class SampleSpec extends FunSpec with Matchers {
describe("sample") {
it("say") {
def sample = new Sample()
sample should not be (null)
sample.say() should be ("hoge")
}
}
}
ScalaTestにおいてテスト手法な方式として、FlatSpecやらWordSpecやらFunSpecやらあるわけでそれこらへんの違いはSelecting testing styles for your projectあたりを参考に、でMatcher周りとかはUsing matchersとかを参考にすりゃ良い
てな感じで
sbt test
でテストを動かす
まぁ普通にJUnitベースなテスト書きでも良いと思うのですが、ScalaTestのFunSpecを使ってrspecっぽく書きたいとかの需要があるのならこれ使えば良いのはって事で