ruby-on-rails - 运行初始测试后,测试数据库未刷新

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

我要通过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

最佳答案

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

config.use_transactional_fixtures = true

关于ruby-on-rails - 运行初始测试后,测试数据库未刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4775263/

相关文章:

ruby-on-rails - 是否可以在邮件模板中使用 CSS 类?

ruby-on-rails - Ruby 图表库

mysql - SQL_ATTR_ROW_NUMBER 的 SQLGetStmtAttr 输出值

android - IllegalStateException 与 ListActivity

android - 找不到表 Android

css - 按时间更改背景图片网址

ruby-on-rails - 是否有适用于Erlang的Sinatra风格的Web框架?

ruby-on-rails - 如何格式化 Rails 编辑字段中显示的值?

ruby - 如何使用 ruby​​ 拆分/重新加入 zip 文件

ruby-on-rails - 从 Controller Action 中调用/lib 中的类