ここ数年RDBを使う仕事がほとんどなかったが,今回のシステムでSQL Serverを使うことになった.テストコードを書くために以前からOracleで使っていた方法があったのだが,SQL Serverでもちゃんと使えるようなのでひとまず安心した. このテストのポイントは,2つのDBユーザを使い分けるということだ: 本番・受け入れテスト用ユーザ(マスターユーザ) 単体テスト用ユーザ(テストユーザ) つまり,画面から実行するときはマスターユーザ,JUnitやNUnitから実行するときはテストユーザでデータベースにログインする.こうすることで,テーブルの内容を壊さないテストコードを書くことが可能だ. 具体的には次のようにすればいい.ここでマスターユーザをmaster,テストユーザをtest,単体テストで更新されうるテーブルをtableAとする: testユーザでデータベースにログイン master