【问题标题】:Test Database not refreshing after running initial tests运行初始测试后测试数据库不刷新
【发布时间】:2011-06-14 02:24:09
【问题描述】:

我正在通过 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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 sqlite rspec2


    【解决方案1】:

    查看database_cleaner gem 看看是否能解决您的问题。

    【讨论】:

      【解决方案2】:

      签入./spec/spec_helper.rb 并确保存在以下行:

      config.use_transactional_fixtures = true

      【讨论】:

        猜你喜欢
        • 2022-10-25
        • 1970-01-01
        • 1970-01-01
        • 2014-10-15
        • 2013-02-14
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 2012-07-08
        相关资源
        最近更新 更多