2011-01-23 40 views
2

我正在通過Railstutorial.org並遇到此問題:測試數據庫在運行初始測試後沒有刷新

測試數據庫在運行測試後似乎沒有清空。

在第6.10節中,我在user_spec.rb文件中創建了下面的行,它在第一次通過後,每次都失敗。

it "should create a new instance given valid attributes" do 
    User.create!(@attr) 
end 

當我看看test.sqlite3數據庫時,它顯示數據庫中有1個用戶。如果我刪除用戶,則測試會通過一次,然後再次失敗,說它無法創建用戶,因爲電子郵件不是唯一的。我查看數據庫,然後記錄再次出現。

看起來上面的代碼創建它,但它並沒有被破壞。

這裏是我的Gemfile

source 'http://rubygems.org' 
gem 'rails', '3.0.3' 
gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3' 
gem 'gravatar_image_tag', '0.1.0' 

group :development do 
    gem 'rspec-rails', '2.3.0' 
    gem 'annotate-models', '1.0.4' 
end 

group :test do 
    gem 'rspec', '2.3.0' 
    gem 'webrat', '0.7.1' 
    gem 'spork', '0.8.4' 
end 

回答

2

入住./spec/spec_helper.rb,確保下面一行是存在的:

config.use_transactional_fixtures = true

+0

這完美地工作。謝謝zetetic! – kkampen

相關問題