6
データベースとユニット/統合テスト
Webアプリケーションを使用したユニット/統合テストについて誰かと話し合いをしましたが、1つのコアアイデアについて意見の相違があります。問題は、ユニットテストの対象となるデータベースにデータを事前に入力しておくべきだと考えている人が話していることであり、テストの実行前後に完全に空である必要があると思います。 データベースに事前入力されたデータに関する私の懸念は、データが良好な状態に維持されることを確認する方法がないことです。テスト自体はデータベース内のデータを作成、削除、変更するため、テストを開始する前にデータベースにデータを保持するのは良いことではありません。 データベースの機能をテストする最良の方法は、次のセットアップを行うことです。 テストを実際に実行する前の「セットアップ」フェーズでは、まずデータベース内のすべてのテーブルを切り捨てます 次に、実行しようとしているテストケースに必要なすべてのデータを挿入します 次に、テストケースを実行して検証します 次に、「ティアダウン」フェーズで、データベース内のすべてのテーブルを再度切り捨てます テスト対象のデータがテスト可能な優れたテストであることを保証する他の良い方法はありません。 ここに何かが足りませんか?これは、データベース関連の機能をテストする最良の方法ではありませんか?(テストを開始する前、またはテストが完了した後でも)データベースに常に存在するデータベースを事前に設定しておくと、メリットがありますか?私のプロセスを異なる方法で説明して、私のポイントをよりよく理解するためのアイデアの助けも素晴らしいでしょう(つまり、私のポイントにメリットがある場合)。