PHPUnitにはdataProviderという機能がある。 パラメタライズドテスト、またはテーブルドリブン(駆動)テストで書くための仕組み。 僕はずっとこの機能が使いづらくて、普通にforeachで回す方が良いのではと思っている。 今日たまたまdataProviderを推奨している記事を続けて目にしたので、改めて考えを整理しておく。 dataProviderのメリット foreachと比較したdataProviderのメリットはこちらの記事が分かりやすかったので引用する。 PHPUnitとデータプロバイダとテストケース生成 メリット1: setUp/tearDownが使える 確かにモックを使うテストならその方が助かる。 メリット2: どのデータでテストが落ちたのか分かりやすい 確かにforeachだとちょっと面倒。Goでテストを書いている時にt.Error()をいちいち書いていく感覚に似