【发布时间】:2013-10-24 05:11:44
【问题描述】:
我已尝试完成 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。
我将不胜感激。
提前致谢。
【问题讨论】:
-
能否运行 rake db:reset 然后在 SQL 浏览程序中打开数据库以确认数据肯定不存在,并且生产/开发/测试之间没有冲突数据库?
-
我想到的一件事是 rake db 任务默认针对您的开发数据库,而不是测试数据库。如果您添加断点(gem install 'ruby-debug19' 为您提供了一个半体面的调试器),您可以从调试器中检查测试数据库,并查看测试执行时的实际情况。
-
如何添加断点?我安装了 gem。
标签: ruby-on-rails