Конфигурация: Интеграционные тесты для проекта Rails с использованием RSpec, Capybara, драйвера Selemium, базы данных SQLite.
Ситуация: У меня было несколько интеграционных тестов с Capybara и по умолчаниюстоечный драйвер.Они создают регистрацию пользователя (для Devise Gem) непосредственно в базе данных.Затем они входят в систему и тестируют сценарий, используя Capybara DSL, как это делал бы пользователь.
Проблема: Я попытался изменить драйвер на Selenium, чтобы также протестировать код JavaScript.Теперь тесты не пройдены, потому что приложение не видит регистрацию пользователя, созданную тестами.
Расследование: Похоже, что драйвер Selenium по-разному работает с переходами, поэтому изменения, внесенные в тест, невидимы ввеб-приложение.Возможное решение включает в себя:
config.use_transactional_fixtures = false
DatabaseCleaner.strategy = :truncation