Khi tôi chạy thử nghiệm rspec, nhiều lỗi không thành công do dữ liệu cũ trong cơ sở dữ liệu mongodb của tôi. AFAIK nó là tốt hơn để thử nghiệm với một cơ sở dữ liệu sạch sẽ.Làm sạch hoặc đặt lại cơ sở dữ liệu thử nghiệm bằng Rspec và MongoID trên Rails 3
Với mysql, tôi có thể chạy rake db:test:prepare
để xóa cơ sở dữ liệu. Làm thế nào tôi có thể làm sạch nd/hoặc tái hạt giống cơ sở dữ liệu trước mỗi bài kiểm tra?
Nếu bạn đang sử dụng ** Mongoid 3 **, bạn sẽ cần một cái gì đó như: 'Mongoid.default_session.collections.select {| c | c.name! ~/system /} .each (&: drop) ' – Alessandro
Điều này là hoàn toàn nitpicky và thực sự có lẽ không quan trọng chút nào nhưng giải pháp của bạn là một chút không hiệu quả. Bạn đang lặp qua tất cả các bộ sưu tập một lần để chọn và sau đó trên tập hợp con trong mỗi bộ sưu tập. Điều này chỉ lặp lại các bộ sưu tập một lần: 'Mongoid.default_session.collections.each {| coll | coll.drop trừ khi /^system/.match(coll.name)} ' –