Модульные тесты Rails без настройки дБ или демонтажа? - PullRequest
0 голосов
/ 01 ноября 2011

Я хочу написать несколько модульных тестов, которые не вносят никаких изменений в базу данных.

У меня есть приложение Rails 2.3.11.Это приложение имеет базу данных SQLite в качестве своей основной базы данных.Во многих отношениях это стандартное приложение Rails.

Уникальность этого приложения заключается в том, что оно также устанавливает соединение с базой данных SQL Server.У меня есть некоторые модели, которые являются абстрактными классами, и они используют базу данных SQL Server.У меня есть before_save и before_destroy обратные вызовы, чтобы предотвратить любые изменения в базе данных SQL Server.Кроме того, учетные данные пользователя для подключения к SQL Server должны быть доступны только для чтения.

Я хотел бы написать модульные тесты, которые делают утверждения для данных, которые уже присутствуют в базе данных SQL Server.Но я не хочу устанавливать или отключать базу данных SQL Server.

Я боюсь просто посмотреть, что произойдет.Я хотел бы иметь параметр в модульном тесте, который будет препятствовать тому, чтобы Rails пытался настроить или разрушить базу данных SQL Server.Это возможно?Как мне это сделать?

Спасибо!

1 Ответ

1 голос
/ 01 ноября 2011

Настройка / демонтаж влияет только на базу данных приложения (SQLite, звучит как), но не на дополнительные внешние подключения к базе данных.

Кроме того, вы должны полностью отделить тестовую среду от рабочей среды.Таким образом, если вы также используете тестовую БД SQLServer (и вы должны это сделать, имея в себе тестовые данные, а не рабочие), то у вас все будет хорошо, даже если произойдет худшее.

...