RAILS:加载所有全局装置后运行一次代码
我在哪里可以编写代码,使其在加载所有全局固定装置之后,以及在运行
我之前在 Rails 2.3.11 上使用 rspec 1.3.1 尝试过的任何测试/规范之前(:suite)执行一次,并且似乎在固定装置之前执行。
Where can I write code to be executed only once after loading of all global fixtures, and before running any tests/specs
I tried before(:suite) with rspec 1.3.1 on Rails 2.3.11 and that seems to get executed before fixtures.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
rake 任务(/lib/tasks) 怎么样?例如,我有一个(reset_db.rake)可以加载固定装置,重置数据库等等:
How about a rake task(/lib/tasks) ? For instance, i have one(reset_db.rake) that loads fixtures, resets db and more :
我遇到了同样的问题,但仍然没有找到任何方法在加载固定装置后连接一些代码......所以我使用了 SpyrosP 解决方案。然而,这种做法的问题是,您无法再从固定装置访问器助手中受益,因为您不是从 rspec 配置而是从 rake 任务加载固定装置。
所以基本上你需要像这样重新创建这些助手(代码有点脏,但似乎对我有用:
I run into the same issue, but still haven't found any way to hook up some code after loading fixtures ... so i used the SpyrosP solution. However the problem with this way of doing is that you can't benefit anymore of the fixtures accessors helpers, since you don't load your fixtures from the rspec config but from a rake task.
So basically you neeed to recreate theese helpers like that (code is a bit dirty but seems to work for me :