Làm thế nào để viết thử nghiệm đơn vị thích hợp (và thử nghiệm tích hợp cho vấn đề đó) bằng MongoDB thông qua Mongoid trên Rails?Cách thực hiện kiểm tra cơ sở dữ liệu thích hợp (TDD) trên Rails 3 bằng MongoDB và Mongoid
Tôi hỏi, vì ngược lại với việc sử dụng giả sử SQLite3, ngay cả khi chạy thử nghiệm, mọi thứ tôi làm vẫn tồn tại. Vì vậy, hiện tại tôi đang viết bài kiểm tra sáng tạo và sau đó tôi xóa tất cả mọi thứ tôi làm theo cách thủ công. Nhưng nó nhận được gây phiền nhiễu và thậm chí phức tạp để làm cho thử nghiệm tích hợp.
Mẫu những gì tôi làm:
before(:each) do
@user = User.create!(@attr)
end
after(:each) do
# MongoDB is not a transactional DB, so added objects (create) during tests can't be rollbacked
# checking for the existance of a similar object with exact :name and :email (regex make it case insensitive)
cleanup = User.where(:name => "Example User", :email => /^[email protected]/i)
cleanup.destroy unless cleanup.nil?
end
Bất kỳ ý tưởng làm thế nào để làm cho MongoDB không dai dẳng trong kiểm tra? (Tôi thậm chí không thể chạy giao diện điều khiển trong chế độ hộp cát bởi vì để sử dụng Mongoid tôi đã phải tắt Active Record).
Cảm ơn, đó là những gì tôi đã sợ ... Tốt liên kết tuy nhiên, tôi nghĩ rằng tôi đã đọc qua các trang MongoDB hoàn chỉnh, nhưng chưa rõ ràng :) Tôi sẽ thử giải pháp đó để tránh phải thêm mã thủ công mỗi khi tôi viết bài kiểm tra. – Alex