2015-11-02 1 views
0

Я работаю над этим проектом, где я выбираю базу данных удаленной продукции. Мой пользователь предоставил SELECT, поэтому он относительно безопасен. Однако теперь я пришел к тому, что мне нужно проверить объекты запросов, и это немного боль.Настройка Rspec для запуска в производственной базе данных

Но я не могу запускать тесты, потому что он пытается удалить базу данных, которая не разрешена для моего пользователя. Как настроить Rspec, чтобы он ничего не делал с db?

Прямо сейчас я проверил это, как это в Rails консоли вручную:

expected = {...} 

QueryObject.new.call 
# SELECT ... 

_ == expected 
=> true 

ответ

1

В целом, тестирование на живые базы данных является плохой идеей.

Извлечь некоторые образцы данных из производственной базы данных и добавить их в свою тестовую базу данных, используя светильники или фабрики. Затем вы можете выполнять запросы к тестовой базе данных, не опасаясь:

  1. Данные в производственной базе данных изменяются и отбрасывают тесты, производя «ложные негативы»;
  2. Ваш тест выполняется в неправильной среде другим пользователем (с большими привилегиями) и непреднамеренно изменяет производственную базу.
  3. Перетаскивание производительности путем запуска тестов во время использования приложения.
+0

Спасибо. Возможно, я должен был добавить это как отказ от моего вопроса. – firedev