В качестве учебного упражнения я создаю приложение для практики с использованием Sinatra, Datamapper и RSpec. Я использую этот шаблон , который по сути является образцом для всего вышеперечисленного.
Проблема, с которой я сталкиваюсь, заключается в том, что, как кажется, RSpec и Datamapper конфигурируются, каждый раз, когда запускается спецификация, которая тестирует функциональность, связанную с базой данных, эти тесты напрямую изменяют мою базу данных разработки вместо тестовой базы данных.
Например, я хочу создать несколько объектов базы данных перед запуском остальной части спецификации ...
before(:all) {
Region.new(:country => "Canada", :country_code => "CA").save
ProductLine.new(:reference => "Molders").save
Product.new(:name => "The Black Molder").save
Cart.new(:price => 25.95).save
}
Тем не менее, каждый раз, когда я запускаю RSpec, перечисленные выше элементы добавляются в мою базу данных разработки.
Почему вместо этого не создается тестовая база данных? Как заставить тестовую базу данных работать должным образом?
Это похоже на эту проблему здесь , за исключением Sinatra вместо Rails.
Если это поможет, мой код можно увидеть здесь .