DALを正しく単体テストする方法は?
-
08-07-2019 - |
質問
ユニットテストは初めてです。しかし、Entity Frameworkで記述されたDALを単体テストするにはどうすればよいので、DALコードは正しく機能しているが実際にはデータベースにアクセスしていないことを確認できますか?誰かができるだけ詳細を教えてください。
解決
データアクセスレイヤーが正しく機能することをテストする場合は、実際にテストしていないので、ある時点でデータベースに対してテストする必要があります。
他のヒント
DALを単体テストするときは、単体テストの最後にトランザクションとロールバックを使用するため、データベースはクリーンです。
DALの単体テストは、開発における非常に一般的な頭痛の種です。ほとんどの場合、スキップすることをお勧めします。
最近のほとんどのORMは、LINQ、HQL、その他のフレーバーなど、何らかの種類のクエリ言語を提供しています。適切な単体テストでは、実際にデータベースにアクセスしないことが必要なので、ORMをモックする必要があり、それを行うことは考えられるロバの最大の痛みです。それは価値がない、IMO。最終的には、コードに適切なクエリを記述したことをテストするだけです。回帰値はまったく得られず、コードを検査することで目的を果たすことができます。
ただし、DALの使用をテストしないでくださいと言っているわけではありません。単体テストを試さないでください。プログラム/システムの統合およびユーザー受け入れテストのスイートがまだあるはずです。代わりにそれらにデータアクセスのテストを処理させます。
所属していません StackOverflow