我是否必须运行rake db:test:在运行测试之前每次手动加载?

时间:2011-08-20 10:31:59

标签: ruby-on-rails ruby ruby-on-rails-3 rspec tdd

我是Ruby on Rails的新手。 我正在尝试通过Scaffolding设置一个简单的WebApp。并使用RSpec进行测试。现在在scaffold命令之后:

rails generate scaffold VideoSegment file_path:string short_name:string description:string

我运行rake db:migrate,但这很清楚,将数据带到我的开发数据库。 但在我做之前测试不是绿色的:

rake db:test:load

将我的开发数据库的架构带到测试数据库。有没有办法自动化这一步骤?或者我必须在每个脚手架后再次加载测试数据库?

PS:当然我知道Scaffold并没有做最好的事情,但是对于我的概念验证需要它就足够了。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:3)

无论何时运行rspec,它都会使用任务为您准备测试架构:db:test:prepare

因此,在生成迁移之后,您必须执行rake db:migrate以更新开发模式,然后运行您将自动为您准备测试数据库的规范。