非NULL制約とS2Unit

S2Unitでは、テストメソッドの先頭で、Excelシートに記述された初期値をテーブルに代入します。このときテーブルに非NULL制約のカラムがあれば、当然そのカラムをExcelシートにも用意しないとSQLエラーになってしまいます。

テスト数が増えてくると、テストメソッドに全く関係しないカラムの初期データをわざわざ用意するのは面倒臭くなってきます。また、開発の途中でテーブル仕様が拡張され、非NULLカラムが追加された場合、それ以前に作成したテスト用Excelシートを全部書き直す必要が出てきます。

こういった問題があるので、僕の場合、テーブルから全制約を除去したデータベースを別に用意し、テスト専用で使うことにしています。

S2Unit側で、Excelシートに指定がない非NULL制約のカラムには自動的に空文字列や0を挿入してくれる仕組みがあれば便利だと思います。