データアクセスロジックコンポーネント(以下 Dalc)の単体テストが嫌い
特に更新系のメソッド。更新されたか確認するのが面倒くさいです。いつも、データベースから値を取得するために、テスト用の Dalc を作っていました。クラス作って、取得用 SQL 書いて…って、やってられない!
LINQ to SQL 使えばよくね?
最近気が付きました。LINQ to SQL を使って更新後のデータを取得すれば、わざわざ自分でテスト用 Dalc を作らなくてもいいのでは。
// データベース更新 HogeDalc dalc = new HogeDalc(); dalc.Update(data); // 更新されたか確認 using(TestDataContext context = new TestDataContext()) { var actual = (from hoge in context.HogeTable where hoge.Code == data.Code select hoge).ToList().First(); Assert.AreEuqal(data.Name, actual.Name); }
すごく楽です。
何で今まで気づかなかったんだろう。LINQ to SQL ではなく、ADO.NET Entitiy Framework でもいいですね。