0

MVC .NET でデータベースの移行を実行しようとしています。これを単体テストするにはどうすればよいか疑問に思っていました。

たとえば、この質問で移行を適用したいと思います: Rename a db column. これを単体テストするにはどうすればよいですか?


私の考え:

  1. テストする最新のものを除いて、既存のすべての移行を移行します
  2. コンテキストにデータを追加する
  3. 新しい移行を適用
  4. テストデータはまだあります

私の考えが理にかなっている場合、これらを MVC .NET に適用する方法はありますか? ありがとう!

4

1 に答える 1

2

統合テスト用。私の大雑把な考えです。おそらく環境に依存します-ビルドサーバー、DBサーバー、デプロイメントの作成、...

データベースと常に同じ(既知の)開始点が必要です。手動で作成して VCS にコミットし、常に手動でM-1 ( M=migration) に更新します。Mまたは、すべての移行-1 が以前に機能していたと仮定して(テスト済みのため)、 ie を使用して自動的に作成しますmigrate.exe。次に、手順を実行してから、できればEFとは異なる「チャネル」を使用して、データが存在すること、列が存在することなどをテストします。ここでは、古き良きADO.NETを介した純粋なSQLで十分です。多用途である必要はないため、よく知られている Connection-Command-Reader パスを使用してクエリを実行し、それを生データとして返す、つまり単純な単純なヘルパーを作成できますIEnumerable(私は自分でそれを行いましたdynamic非常にシンプルにします。)

私のアドバイスは、シンプルに保つことです。派手で賢いものは何もありません。テストをサポートするだけです。

于 2012-08-11T12:34:25.963 に答える