適切なテストを行うためにかなりの量のデータ (数千のレコード) を必要とするアプリケーションがあります。テスト可能で適切なデータの適切なセットを取得する唯一の方法は、実稼働 DB のサブセットを使用することです。これを通常の「test/fixtures」の場所にある YAML フィクスチャに変換しました。
これは機能しますが、条件Xを満たす特定の数のレコードであることに依存する、一見脆弱なテストとアサーションがたくさんあります...
例
def test_children_association
p = Parent.find(1)
assert_equal 18, p.children.count, "Parent.children isn't providing the right records"
end
これは私には良い考えではないように思えますが、データの大規模な階層を必要とするアプリケーションをテストするためのより良い/受け入れられた方法があるかどうかはわかりません.