Parece que la forma más comúnmente aceptada de tratar con Selenium y las pruebas es evitar el uso de dispositivos transaccionales y luego usar algo como database_cleaner entre pruebas/escenarios. Hace poco me encontré con el siguiente article que sugería la siguiente manera:¿Por qué no utilizar las conexiones compartidas de ActiveRecord para 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
Esto parece muchísimo mejor para el rendimiento que las alternativas. ¿Alguien tiene alguna razón por la cual esto no debería ser utilizado?
Esto no es realmente una respuesta, sino un llamado a la autoridad. – Felixyz