Например, я ищу что-то в БД, Model.find_by(slug: :name)
. И это работает нормально в местном env, но в тесте это дает мне ноль. (Я трижды проверил его, и есть запись в БД).
Я даже добавил debug для просмотра журналов. И когда я это делаюModel.where(slug: :name).count
, он возвращает мне 0. Но запись действительно существует с этим именем слизняка.
Где я копаю, чтобы исправить это?
При выполнении тестов Rails использует другую базу данных. Общее соглашение-projectname_development vs projectname_test (и, наконец, projectname_production).
Обычно тестовые системы также очищают тестовую базу данных перед запуском теста. Это происходит по двум причинам:
Необходимо настроить тестовые данные для каждого отдельного теста. Вы не упомянули, какую тестовую систему вы используете.
Посмотрите на светильники и заводскую девушку .
Данные, хранящиеся в базе данных тестирования, являются временными и удаляются после завершения тестирования.
База данных разработки не зависит от базы данных тестирования.