Кажется, что наиболее распространенным способом борьбы с Selenium и тестов является избежание использования транзакционных приборов, а затем использование чего-то типа database_cleaner между тестами/сценариями. Недавно я столкнулся с следующей статьей которая предложила сделать следующее:
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
Это кажется более загруженным для производительности, чем альтернативы. У кого-нибудь есть причина, почему это не должно использоваться?