0

データベースで一意の制約をテストする方法がわかりません。私はNHibernateを使用しています。

テーブルに設定した一意の制約が機能しているかどうかを確認したい...または、データベースの特定の列に一意の制約を設定したことを確認したいと言ったほうがよいでしょう。

一意の制約がデータベースで機能しているかどうかを確認する統合テストを簡単に作成できます (特定の列に同じ値を持つ 2 つのエンティティを保存すると、例外がスローされる必要があります)。しかし、私の質問は次のとおりです。データベースの実稼働環境では統合テストを開始できず、データベース テストでしか開始できないため、統合テストが実稼働データベースでも機能することを確認するにはどうすればよいですか? ベストプラクティスはどれですか?

4

1 に答える 1

0

テストを行わないと、何かが希望どおりに動作するかどうかを確認できません。別のセットアップをテストすることは、動作を確認したいセットアップをテストすることと同じではありません。

あなたが「私の車は壊れています」と言い、誰かが「そんなことはありません、私の車は大丈夫です」と答えると想像してみてください。

本番環境で使用される Schemacreation をテストし (おそらく Nhibernates SchemaExport)、本番環境で使用される Schemaupdate プロセスを、a) 本番データベースのダンプ、または b) 本番データベースの SchemaCreation と現在のバージョンでテストしてください。

于 2012-10-23T06:52:43.577 に答える