PHPカンファレンス福岡2023
レギュラートーク(15分)

そのテスト、Fakerを使うのやめませんか?

apple_yagi やなぎ apple_yagi
8

みなさん、テストを書く際にどうやってテストデータを用意していますか?
PHPのフレームワークであるLaravelではfakerphp/fakerを使用し、簡単にランダムなテストデータを生成することができます。また、メールアドレスや人名、絵文字などを作成するように指定することもでき、大変便利なライブラリです。

しかし、何でもかんでもランダムにテストデータを生成していると、テスト対象のロジックをテストの中で実行し、アサーションをするといったことを意図せずしてしまうことがあります。
また、ランダムなテストデータを使っているからといって境界値テストを怠ったり、Property based testingのようなテスト観点が抜け落ちたりすることがあります。

本トークではFaker(ランダムでテストデータを生成するツール)を使用しない方がいいテストや、境界値テスト、Property based testingについてお話しします。