ソフトウェア開発プロジェクトで、Visual Studio の Microsoft テスト フレームワークを使用して、自動テストを実装したいと考えています。いくつかのテストを作成しましたが、全体として非常に使いやすいです。
ビジネス オブジェクト、より具体的にはデータベースの読み取りと書き込みをテストするためのより良い方法は何ですか。
ユーザー インターフェイスがテストされる開発データベースとは別のテスト データベースをセットアップし、そのデータベースに対してテストするのが最善ですか? 基本的には、ジャンクデータで埋めるだけです。
AddUser メソッドをテストしている場合、ユーザーを追加し、テストを確認してから、ユーザーを削除しますか?
1 つのテスト メソッドで各 CRUD メソッドをテストしますか?
最後に、文字列が正しいサイズであること、開始日が終了日よりも前であること、CustomerId が正しい Customer であることなどの検証など、個々のビジネス ルールについてはどうでしょうか。
私はこれがかなり幅広い質問であることを認識しています... 方向性を探しているだけです... 赤ちゃんの一歩を踏み出しています。
詳しくは...
良い答えがたくさん!モック データベースを作成できるかどうかはわかりません。オブジェクトのフレームワークとして CSLA を使用しています。これをモック オブジェクトでテストできるようにするには、かなりのリファクタリングが必要です。これについて調べてみます。ただし、ある時点で、データベースの相互作用をテストしたいと思います...模擬データベースを使用する場合、データベース通信を実際にどこで/いつテストしますか?
もう 1 つの質問...各テスト メソッドを他のテストに依存しないようにするのが最善ですか?