RailsアプリのSeleniumテストでどのデータを使用しますか?フィクスチャからロードしますか?既存の開発データベースを使用しますか?別の(フィクスチャではない)データベースを使用しますか?
ここで自分の選択肢を検討しています。SeleniumGridの修正バージョンで実行される大規模なSeleniumテストスイートを備えたRailsアプリがあります。現在、プロセスの一部は、テストスイートが実行される前に、一度に大量のフィクスチャのセットをロードすることです。それはたくさんのデータです。そのほとんどは、本番データベースからエクスポートされたレポート情報です。最初に設定したとき、データをOracleからyamlにエクスポートしました。
一部のレポートテーブルでスキーマが変更されたため、もちろんフィクスチャデータを再生成する必要があります。たくさんあるので、ファイルを手作業で編集する価値はありません。ただし、スキーマを少し変更するたびに再生成する必要があるのは非効率的です。言うまでもなく、覚えておくべきもう1つのステップです。もっと良い方法はありますか?
編集:私はもともと、通常のRailsテストのように、各テストの前にフィクスチャをロードし、各テストの後にそれらをアンロードすることを意図していました。ただし、このレポートデータにより、フィクスチャのロードには約15分かかります。200以上のテストがあり、スイートは12時間ごとに実行されます。時空キャプテンを曲げることができます!
編集2:私はまた、この大きな備品のセットを持っていることは悪臭であることに同意します。ただし、レポートには多くのデータが集約されており、セレンテストの価値の多くはレポートをテストすることであるため、どのように削減するかはわかりません。
小さなデータセットであっても、スキーマの変更との調整を維持するための別のセットです。(ユニット、機能、および[Rails]統合テスト用に個別の小さなセットがあります。)
これは私の元の質問に戻ります-手でそれを行う以外に、または毎回それらを再生成することを覚えている他のオプションはありますか?