学習の練習として、Sinatra、Datamapper、RSpecを使用して練習アプリを構築しています。私はthis templateを使用しています。これは基本的には上記のすべての定型文です。開発データベースからSinatraアプリケーションのテストデータベースを分離しますか?
私が抱えている問題は、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のを実行するしかし、すべての時間は、上記の要素は、私の開発データベースに追加されます。
代わりにテストデータベースが生成されないのはなぜですか?テストデータベースを正しく動作させるにはどうすればよいですか?
これは、Railsの代わりにSinatraを除いて、this issue hereと非常によく似ています。
もし助けがあれば、私のコードはhereです。 spec_helper.rb
ファイルで
こんにちは、トリックをやった!お返事ありがとうございます:) –
ありがとうございました。私はENV ['RACK_ENV'] = 'test''をさまざまな場所に置いていて、なぜそれが拾われなかったのか不満を感じていました。 'spec_helper.rb'の先頭**は'の前に '' sinatra''を必要とし、今は動作します! – Shevaun
ありがとうございます。これは私を夢中にさせていた。 –