加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 重新加载factory_girl工厂

发布时间:2020-12-16 21:56:06 所属栏目:百科 来源:网络整理
导读:我想要在工厂进行更改时,我会在rails控制台中看到它们,而无需重新启动所有控制台. 我发现了一些线条,测试了他们对发生的事情的了解不大,documentation对我来说不清楚: FactoryGirl.reload 我也测试过: FactoryGirl.factories.clear FactoryGirl.find_defin
我想要在工厂进行更改时,我会在rails控制台中看到它们,而无需重新启动所有控制台.

我发现了一些线条,测试了他们对发生的事情的了解不大,documentation对我来说不清楚:

FactoryGirl.reload

我也测试过:

> FactoryGirl.factories.clear
> FactoryGirl.find_definitions # also tested FactoryGirl.factories.find_definitions
                               # but NoMethodError is raised
=> ActiveRecord::RecordNotFound: Couldn't find Address with ID=277 Torphy Squares

解决方法

你也可以使用reload!重新加载控制台环境,但它不会重新加载工厂.使用FactoryGirl.reload重新加载Factory定义.它(re)从以下位置加载这些定义(参见 documentation):
test/factories.rb
spec/factories.rb
test/factories/*.rb
spec/factories/*.rb

您提到的其他命令用于清除和加载定义. FactoryGirl.factories.clear清除所有加载的Factory定义,而FactoryGirl.find_definitions从文件重新加载所有定义.

如果您的Rails,请务必使用factory_girl_rails gem.例如,定义一个工厂:用户,您可以使用FactoryGirl.build(:user)或FactoryGirl.create(:user)在控制台中使用它.这将返回一个User实例.

如果不行,请发布一些更多的细节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读