MongoDB データベースを使用する asp.net MVC アプリケーションを入手しました。SpecFlow と Selenium WebDriver を使用して自動テスト (BDD) を行っています。URL に移動したり、アクリオンを作成したりする前に、データベースを特定の状態に初期化したいと考えています。それは可能ですか?
1 に答える
1
それは可能ですか?
はい!
私は次の方法でそれを行いました:
1.テストが初期化されるとき - テストデータベースを生成します (ドライバーを介した最も簡単な方法で)。
users.Insert(new User(){ Id: "1", userName: "testUser" })
2.バックアップを作成します(これにはmongodumpを使用しました)
3.テストを開始する前に、一意の名前 myApp_tests_guid でデータベースを作成します。データベース名をどこかに保管してください。
4.データベースの復元(mongorestore)
5.テストの終了時または失敗の場合 -- データベースを削除します。
6.一部の特定のテストのオプションの手順は、共通のテスト データベースをテスト固有のデータで調整することです。
それでおしまい。バックアップ/復元のアプローチを使用した理由は、パフォーマンスです。また、テストでは、セーフ モードとジャーナリングが無効になっていることを確認してください。これにより、作業が高速化されます。
于 2012-10-29T21:32:49.180 に答える