scalatest
ScalaのテストフレームワークであるScalaTestでは、他のテストフレームワーク同様に、各テストの前後に特定の処理を挟むためのbefore / afterの仕組みが用意されている。 環境 Scala 3.3.0(2系でも変化はないはず) ScalaTest 3.2.17 各テストの前後に処理を…
プロパティベースドテストを行うライブラリであるScalaCheckには、任意の値を生成できるGenという仕組みがある。任意の日付時刻を生成するためのGenを定義したメモを残しておく。 Gen Genとは値を生成するためのジェネレータである。例えばGen.longは任意のL…
ScalaのテストフレームワークであるところのScalaTestのドキュメントを読んでいたら便利なメソッドを発見したのでメモ。実はもうみんな知ってるかもしれない。 等価性比較 ScalaTestでは、Matcherという便利なメソッドを使って等価性や存在判定などのテスト…
一瞬ハマったのでメモ。 val m: Map[DateTime, Int] = ... このような、DateTimeからIntへのMapがあるとする。 ScalaTestで、ある範囲の日付がすべてこのMapにキーとして含まれていることを知りたい。 誤答: definedAtを使う val from = DateTime.parse("202…
開発していると、「テストが落ちるけど一時的にマージしたいからテストを通したい」ということがたまにある。そういうときにScalaTestではどうするのかについて調べてみた。 テストスイートごとignoreする 個々のテストをignoreする AnyFlatSpecを使っている…
こういう感じで書けます。 import org.scalatest.prop.TableDrivenPropertyChecks import org.scalatest.funspec.AnyFunSpec // 必要なのは TableDrivenPropertyChecks なので、あとは好きなstyleを選んでよい class FooSpec extends AnyFunSpec with TableD…