Javaの時は、DbUnitでExcelに書いたテストデータをDBに登録してテスト、ということが、簡単に(とはいっても、POIに苦しめられるのだが)できたのだが、PHPではどうなの?
PHPUnitにもdbunitという拡張があって、それを使うとDBを使ったテストができる。が、
- Excelファイルをテストデータとして読み込むことはできない。
- CSV, XML, YAMLでテストデータを用意することはできるが、複数のテーブルに対して1つのファイルでデータを書けるのは、MySQLのときだけっぽい。
仕方がないので、PHPの勉強も兼ねて、xlsファイルの内容をDBに登録するfunctionを書いてみた。