2012-04-26 9 views
1

私が取り組んでいるアプリケーションは、Velocity/Spring MVC/Mongo on webcatの種類のTomcatです。組み込みMongoまたはインストールされたインスタンスとの統合テスト

EmbedMongoを使ってEmbedded Mongoで統合テストを実行することができます。これは、すべてのテストを実行するのに時間がかかります。例えば約1分ですが、インストールされたMongoのテストデータベースでは約15秒かかります。

新しいデータベース(この場合は同じインスタンス内のテストDB)を作成する際に、組込みデータベースを統合テストに使用することには本当にメリットがありますか?実際には、テスト自体がDBを作成してCollectionを必要とする可能性があります。

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

誰でも意見を分かち合うことができます。別のインストールインスタンスと

おかげ のGaurav

答えて

0

あなたは、したがって、あなたのテストスイートのための組み込みDBを使用する利点を最小限に抑えたい関わるプロセスのセットアップとティアダウンのコストを持っています。そのリンクで

+0

ええ、それは本当ですが、Mongoの場合、セットアップ/分解コストはごくわずかです。そして、デベロッパーボックスでは、常に同じインスタンス内に別のテストDBがありますので、それは簡単な成果です。だから、埋め込まれたmongoが良いアイデアであるかどうかまだ混乱しています – user724503

1

ルック: https://stackoverflow.com/a/9830861/82609

それは素敵なようだが、MongoDBのが開始されると、各テストの間にシャットダウン。

スピードを上げるために、テストスイート全体を一度起動してシャットダウンすることをお勧めします。 意味:MongoDBインスタンスをテストの間に置いてください。


しかし、あなたのテストはお互いに依存しないようにしてください。ですから、あなたは別のデータベース名(UUID)を使用して、最終的に多くの異なるデータベースを持つ1つのMongoDBインスタンスが各テストに1つずつ存在するようにします。

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

+0

どうすればいいですか? –

関連する問題