sbtじゃない!ScalaTestだった!
と、ふと思った金曜日の朝。
そういえば、DB接続とかをどうやって管理するのかなぁ〜って思ってみてると・・・あった!!
package testcase import org.scalatest.fixture.FixtureFunSuite import org.junit.runner.RunWith import org.scalatest.junit.JUnitRunner @RunWith(classOf[JUnitRunner]) class Test03 extends FixtureFunSuite { type FixtureParam = List[Int] def withFixture(test: OneArgTest) { try { val hoge = List(1,2,3) test(hoge) } finally { } } test("hoge") { hoge => println(hoge) assert(hoge == List(1,2,3)) } }
ちなみに引数あり版。引数無し版もあるけどコネクションとかは引数から渡した方が楽かなと思ってサンプルはこっちだけにした。
これだと値の上書きとかなくなるね
ポイントはtype FixtureParam = List[Int]これで引数の型を指定していること
ってことでScalaTestのサンプルにはcase classを使って複数の値を渡す方法も書いてた
なるほど、withFixtureのtestって引数がtestって関数なのか・・・じゃあループ作って何度でも呼び出せるんだ・・・
そろそろ何かと評判の良い(でも使ってる人みたの二人だけ!な)IntelliJ使ってみようかな・・・とりあえずCommunity Editionだけど
まさか今朝EclipseのScala-IDEが意味不明なエラーで上手く動かなかったからイラッとしたからとかじゃないよ!