【发布时间】:2012-03-11 16:36:58
【问题描述】:
作为学习练习,我正在使用 Sinatra、Datamapper 和 RSpec 构建一个练习应用程序。我正在使用this template,它基本上是上述所有内容的样板。
我遇到的问题是 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 时,上述元素都会添加到我的开发数据库中。
为什么不生成测试数据库?如何让测试数据库正常工作?
这看起来与this issue here 非常相似,除了 Sinatra 而不是 Rails。
如果有什么帮助,可以看到我的代码here。
【问题讨论】:
标签: rspec sinatra datamapper