作为一个学习练习,我正在使用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
}
Run Code Online (Sandbox Code Playgroud)
然而,每次运行RSpec时,上述元素都会添加到我的开发数据库中.
为什么不生成测试数据库呢?如何让测试数据库正常工作?
除了Sinatra而不是Rails之外,这看起来与此问题非常类似.
如果有任何帮助,我的代码可以在这里看到.