Dường như cách được chấp nhận phổ biến nhất để xử lý Selenium và kiểm tra là tránh sử dụng các đồ thị giao dịch và sau đó sử dụng một cái gì đó giống như database_cleaner giữa các thử nghiệm/kịch bản. Gần đây tôi đã chạy vào article sau đó gợi ý cách làm như sau:Tại sao không sử dụng kết nối ActiveRecord được chia sẻ cho Rspec + Selenium?
spec_helper.rb
class ActiveRecord::Base
mattr_accessor :shared_connection
@@shared_connection = nil
def self.connection
@@shared_connection || retrieve_connection
end
end
# Forces all threads to share the same connection. This works on
# Capybara because it starts the web server in a thread.
ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
Điều này có vẻ tải tốt hơn cho hiệu suất hơn so với giải pháp thay thế. Có ai có bất kỳ lý do tại sao điều này không nên được sử dụng?
Đây không thực sự là câu trả lời mà là sự hấp dẫn quyền lực. – Felixyz