При использовании огурца, как выбрать «тестовую» базу данных? - PullRequest
2 голосов
/ 29 октября 2011

Я просто работаю с огурцом;Я не уверен, с какой базой данных он работает, но когда я запускаю его с селеном (через капибару), он определенно использует базу данных разработки.Как я могу быть уверен, что тестовая база данных выбрана, и как я могу взаимодействовать с тестовой базой данных, чтобы убедиться, что она находится в правильном состоянии?

1 Ответ

1 голос
/ 15 февраля 2012

По умолчанию Cucumber использует тестовую среду и тестовую базу данных.Вы должны увидеть это в вашем database.yml:

cucumber:
  <<: *test

Что означает «взять настройки из тестовой базы данных и использовать для огурца».

Чтобы получить нужную тестовую базу данныхиспользуйте команды rake, чтобы скопировать базу данных разработки, готовую к выполнению:

rake db:test:clone_structure

Я также рекомендую взглянуть на гем DatabaseCleaner, который широко используется для тестирования.Вы можете настроить его с помощью cucumber, чтобы либо усекать, либо использовать транзакции базы данных, чтобы каждый сценарий начинался с чистого состояния базы данных.

https://github.com/bmabey/database_cleaner

...