在运行测试之前,我是否必须每次手动运行 rake db:test:load ?
我是 Ruby on Rails 的新手。 我正在尝试通过脚手架设置一个简单的 Web 应用程序。并使用 RSpec 进行测试。现在,在脚手架命令之后:
rails generate scaffold VideoSegment file_path:string short_name:string description:string
我运行了 rake db:migrate ,但这很清楚,将数据带入我的开发数据库。 但我之前的测试并不顺利:
rake db:test:load
将我的开发数据库的模式引入测试数据库。没有办法自动化这一步吗?或者我是否必须在每个脚手架之后再次加载测试数据库?
PS:当然我知道 Scaffold 并没有做最好的事情,但对于我的概念验证需要来说它已经足够了。
感谢您的任何建议。
I'm new to Ruby on Rails.
I'm trying to set up a simple WebApp via Scaffolding. And using RSpec for my tests. Now after the scaffold command:
rails generate scaffold VideoSegment file_path:string short_name:string description:string
I ran rake db:migrate
, but thats clear, bringing the data to my development database.
But the tests where not green before I did:
rake db:test:load
To bring the schema of my development database to the test database. Isn't there a way to automate this step? Or do I have to load test database again after each scaffold?
PS: Of course I know Scaffold is not doing the finest things, but for my proof of concept need it's sufficient.
Thanks for any suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每当您运行 rspec 时,它都会使用以下任务为您准备测试架构:
db:test:prepare
因此,在生成迁移后,您必须执行 rake db:migrate 来更新开发架构,然后运行您的规范这将自动为您准备测试数据库。
Whenever you run rspec it will prepare the test schema for you using the task:
db:test:prepare
So after generating migrations you have to do rake db:migrate to update the development schema and then run you spec which will automatically prepare the test database for you.