Rails 3: как использовать тестовую базу данных в RSpec / Selenium и т. Д.? - PullRequest
2 голосов
/ 12 мая 2011

У меня есть много тестов, таких как создание пользователя, обновление и т. Д. В некоторых контроллерах у меня есть доступ к базе данных Mongo. Проблема в том, что он также обращается к нему при выполнении тестов, добавляя данные в базу данных.

Есть ли способ заблокировать доступ к набору тестов для этого кода? Это раздражает каждый раз, когда я запускаю тесты, я получаю больше 100 строк.

Спасибо

1 Ответ

0 голосов
/ 12 мая 2011

Вы определяете доступ к базе данных Монго в вашем database.yml?Если это так, настройте соединение для тестовой среды:

development: &default_settings
  database: APPNAME_development
  host: 127.0.0.1
  port: 27017

test:
  <<: *default_settings
  database: APPNAME_test

Если вы обращаетесь к базе данных mongo через какой-то API веб-службы, вы можете использовать комбинацию fakeweb и VCR для записи запросови ответы на него.Последующие запросы от ваших тестов к службе будут обслуживать кэшированный ответ, а не попадать в него напрямую.

https://github.com/myronmarston/vcr

...