1

私が取り組んでいるアプリケーションは、Tomcat のような webapp 上の Velocity/Spring MVC/Mongo です。

EmbedMongoを使用すると、すべてのテストを実行するのに約 1 分かかりますが、インストールされた Mongo のテスト データベースでは約 15 秒かかります。

新しいデータベース (この場合は同じインスタンス内のテスト データベース) を作成するときに統合テストに組み込みデータベースを使用することには本当に利点がありますか? 実際、テスト自体で DB と必要なコレクションを作成できます。

通常のインストールが不要な CI ボックスで Embedded Mongo を使用する以外に、大きなメリットはありません。

誰でもアイデアを共有してください。

ありがとうガウラフ

4

2 に答える 2

1

そのリンクを見てください: https://stackoverflow.com/a/9830861/82609

いいように思えますが、MongoDB は各テスト間で開始およびシャットダウンされます。

速度を上げるために、テスト スイート全体に対して 1 回の起動とシャットダウンを行うことをお勧めします。つまり、テスト間で MongoDB インスタンスを維持します。


しかし、テストが相互に依存することは望ましくありません。したがって、別のデータベース名 (UUID) を使用して、最終的に 1 つの MongoDB インスタンスを実行し、テストごとに 1 つの多くの異なるデータベースを使用することができます。

または、各テストの間にデータベースをクリーンアップできます。

于 2013-01-05T12:55:27.860 に答える
0

個別にインストールされたインスタンスを使用すると、テスト スイートで最小限に抑えたいプロセスのセットアップとティアダウンのコストがかかるため、組み込み DB を使用するメリットがあります。

于 2012-04-26T17:24:54.260 に答える