2011-01-23 8 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

関連する問題