Из-за устаревшей базы данных, которую я использую, я застрял в MySQL, использующем MyISAM, а это значит, что мои таблицы не поддерживают транзакции. Это приводит к сбою тестов, поскольку данные таблицы, созданные тестами (я использую factory_girl для фикстур), не восстанавливаются для каждого сценария.
Я обнаружил, что Rspec предоставляет настройку конфигурации config.use_transactional_fixtures
в spec_helper.rb.
для которого по умолчанию установлено значение true. Когда я устанавливаю его на false, я не вижу никакого эффекта на мои тесты; они по-прежнему терпят неудачу из-за дублирования записей.
Разве этот параметр не должен автоматически разворачивать любые изменения, внесенные в БД? Или я должен делать это вручную?