自動テストを追加する既存のGrails/MongoDBアプリケーションがあります。これらのテストを、Mongoコレクション内の特定のデータセットに対して実行する必要があります。テストでデータをマングルできるようにし(運が良ければ予測可能な結果で)、データベースをすばやく削除して再作成/再ロードできるようにして、テストを再度実行できるようにします。
このシードテストデータは本番システムの実際のデータに基づいているので、Mongoシェルなどのクエリから取得できるJSON/BSON形式のデータをロードできるようにしたいと思います。似ている。
基本的に、次のような100行のコードを記述する必要はありません。newRecord(name:'John Doe'、age: '25'、favoriteColor:'blue')。save()
それぞれ30個のプロパティを除いて、制約が満たされ、データが現実的であることを確認します。そのため、本番データを使用したいと思います。
また、実際のデータをロードおよびリロードするためにmongorestoreを実行するspowning execに頼る必要はありません。これは、テスターのマシンで追加のソフトウェアを実行する必要があるためです。
もっと良い方法はありますか?おそらく、生のJSONを何らかの形でアンマーシャリングして、Grails MongoDB GORMまたはGMongoで実行したり、JavaMongoDBドライバーを直接呼び出したりできるようにしますか?