Edited at

.Net + SQL Serverでテストデータを準備する方法

More than 5 years have passed since last update.


基本(もっともシンプルな実装)

1.テストメソッド内で、TransactionScopeを生成する。

2.テストデータを挿入

3.テストメソッド内で、目的の処理を記述

4.テスト終了前にDispose()し、トランザクションを破棄する

5.データベースは元どおり


TestDataPreparation001.cs

       [TestMethod()]

public void Test_001()
{
using (var trans = new TransactionScope(TransactionScopeOption.Required))
{
// inserting test data
this.InsertData();

// start testing
var target = new Testee();
var expected = 0;
var actual = target.Something;
Assert.AreEqual(expected, actual);

// revert test data to original
trans.Dispose();
}
}