Я хочу, чтобы 'rake test: units' успешно выполнял тесты на подготовленной тестовой базе данных, пока моя база данных разработки не работает. В настоящее время rails пытается собрать тестовую базу данных из базы данных разработки. Возможно ли это?
Я нахожусь в ситуации, когда мои базы данных prod / dev отключены от хоста, но для модульных тестов я использую sqlite в базе данных памяти.
РЕДАКТИРОВАТЬ для моих точных действий: Примечание. Я использую Rails 2.3
Моя тестовая база данных настроена так в config / database.yml:
test:
adapter: sqlite3
database: 'sqlite3_unittest_file.dat'
pool: 5
timeout: 5000
Когда я запускаю rake db:test:load
, тестовая база данных (которая является просто файлом) генерируется правильно в каталоге rails-root. И когда я запускаю rake test:units
, все работает.
Теперь, если я отредактирую database.yml
, чтобы установить для своей базы данных DEV имя пользователя что-то неправильное (например, 'sdlkfj'), rake test:units
мгновенно завершится неудачей, выдав жалобу:
Access denied for user 'sdlkfj'@'myhostnsmae' (using password: YES)
Когда я запускаю эту сборку «по-настоящему», я запускаю ее в системе, где сборкам не разрешается разговаривать в автономном режиме во время процесса сборки. Следовательно, эта попытка поговорить с базой данных разработчика и мгновенное карканье убивает меня и кажется неверной.