2009-07-01 11 views
0

標準ASP.NET MVCプロジェクトを作成し、App_DataフォルダにSQL Expressデータベースを追加しました。接続文字列は、web.configファイルに記録されます。次に、データベースのLINQ to SQLデータモデルを作成しました。私はテストプロジェクトからデータモデルをテストしたいと思いますが、私は接続されたデータベースを使用しているため、これを正しく行う方法はわかりません。データベースはTestプロジェクトではなくMVCプロジェクトにアタッチされているため、Testプロジェクトからどのようにアクセスできますか?ASP.NET MVCプロジェクトで添付DBのモデルをテストするには?

答えて

0

ユニットテストについて言えば、データベースなしで実行できるはずです。アイデアは、あなたのコードが再利用可能なブロックに分割され、模擬/スタブデータを渡すことによって個々にテストできるということです。

+0

urすぐに答えてください!しかしこれは、ライブデータを使用してURデータモデルをテストするためにユニットテストを使用すべきではないことを意味しますか?試作したデータの代わりにライブデータを使用すると、より正確なテストになると思いました。 LOLおそらく私はユニットテストの目的を理解していなかったでしょう。しかし、まだ私は誰かがこれを前にして、それができたら教えてくれることを願っています。 – anonymous

0

Sohneeは正しいです。単体テストは本番データベースに依存してはいけません。たぶん、より広範な統合テストをしたいと思うようですね。

私はこれについていくつかの詳細に行くことができますが、私はそれがあなたが探しているものだとは思わない。 「データモデルをテストする」ことによって、あなたが何を意味するのか、それとも達成を目指しているのかを詳しく解説できますか?

0

いくつかの学校は単体テストに入るべきではなく、何をすべきかについて非常に厳格です。他はそれほど多くはありません。

これはすべての好みに関するものだと思います。すべてを模倣したときに本当のことをテストするのを忘れるのは簡単だということを覚えておいてください。

質問に答えるには、テストでデータコンテキストを作成すればどうなりますか?あなたはそれに対して照会することができますか、または奇妙な接続の例外を取得できますか?

後者の場合でも、データベースに対してテストしたい場合は、データベースファイルをテストのどこかにコピーする必要があります。とにかく、接続文字列をデータコンテキストコンストラクタに渡すことができます。