Tôi thấy phương pháp này mát mẻ cho chỉ sử dụng chất tẩy rửa Cơ sở dữ liệu: cắt ngắn cho thử nghiệm Capybara sử dụng: js => trueRails RSpec Capybara và DatabaseCleaner - sử dụng cắt ngắn chỉ về tính năng kiểm tra
Trong spec_helper.rb:
config.before(:each) do
DatabaseCleaner.strategy = if example.metadata[:js]
:truncation
else
:transaction
end
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
Vấn đề là bất kỳ thử nghiệm tính năng nào được thực hiện với capybara có vẻ như cần chiến lược làm sạch: cắt ngắn.
Tất cả các thông số kỹ thuật khác, tuy nhiên, tốt với: giao dịch, nhanh hơn đáng kể.
Có cách nào chỉ định chiến lược chỉ cho các thử nghiệm tính năng capybara không? Cái gì đó như:
DataCleaner.strategy(:truncation) if :type => :feature
Tôi không cần câu trả lời chấp nhận nhưng câu hỏi của bạn rất hữu ích cho tôi! Tôi đang sử dụng khối 'nếu JS sử dụng cắt ngắn' và nó hoạt động hoàn hảo! Cảm ơn! –
Rất vui được giúp đỡ. Số giờ tôi bỏ ra xung quanh với điều này không vui. – Squadrons