Ruby on Rails教程第9.3.3节

时间:2011-05-17 10:01:15

标签: ruby-on-rails

我尝试在Ruby on Rails教程(http://railstutorial.org)中完成第9.3.3章。

每当我运行测试时,它会说出以下内容:

Failures:

  1) Users sign in/out success should sign a user in and out
     Failure/Error: user = Factory(:user)
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/requests/users_spec.rb:53:in `block (4 levels) in <top (required)>'

Finished in 5.8 seconds
4 examples, 1 failure

我尝试了各种修复方法,包括重置数据库 - 使用rake db:reset和rake db:populate。

我将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:2)

在您的测试运行时,似乎您的测试数据库没有包含在事务中。这导致测试数据库在测试运行之间保持不变。运行每个规范后,使用database cleaner清理测试数据库。