Тестовая база данных не обновляется после запуска начальных тестов - PullRequest
2 голосов
/ 23 января 2011

Я перехожу на 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 ]

2 голосов
/ 24 января 2011

Проверьте ./spec/spec_helper.rb и убедитесь, что есть следующая строка:

config.use_transactional_fixtures = true

0 голосов
/ 23 января 2011

Посмотрите на камень database_cleaner и посмотрите, решит ли это вашу проблему.

...