こんにちは、山崎です。 ひとつのテストをたくさんのテストデータに対して実施したい時、fixtureにテスト用のデータを定義するというのが良くあるパターンだと思います。しかし、データの構造を変更するたびに必要になる、fixtureの大量のテストデータの手動での変更は辛い作業になってしまうことが多いと思います。 そこで今回は、データをランダムに生成することでそんな悩みを解決するProperty-Based Testingを、ScalaCheckとScalaTestにより実行する方法についてご紹介します。 Property-Based Testingとは ランダムに生成された値を使用してテストを行うことで、テスト対象のコードの満たすべき性質を検証するテストです。 今回はScalaのProperty-Based TestingのライブラリであるScalaCheckを使用します。 さっそく例を見てい