ruby-on-rails – FactoryGirl:使用参数创建动态工厂?
发布时间:2020-12-17 04:01:04 所属栏目:百科 来源:网络整理
导读:我有三个工厂,我想干.它们看起来像这样: factory :sequenced_stamps_by_years,class: Stamp do ... sequence(:day_date) { |n| n.years.ago }endfactory :sequenced_stamps_by_months,class: Stamp do ... sequence(:day_date) { |n| n.months.ago }endfact
我有三个工厂,我想干.它们看起来像这样:
factory :sequenced_stamps_by_years,class: Stamp do ... sequence(:day_date) { |n| n.years.ago } end factory :sequenced_stamps_by_months,class: Stamp do ... sequence(:day_date) { |n| n.months.ago } end factory :sequenced_stamps_by_weeks,class: Stamp do ... sequence(:day_date) { |n| n.weeks.ago } end 我该怎么办呢?我希望能够创建这样的东西: FactoryGirl.create_list(:sequenced_stamps_by_x,4,x: "weeks") ## <- So that i can decide whether I want weeks,days,years,or months ago. 这可能吗? 解决方法
如果您不喜欢继承方法,可以使用参数替代.基本上:
factory :stamps do ignore do interval :years # possible values => :years,:months,:weeks end sequence(:date_date) { |n| n.send(interval).ago } # rest of attributes here end 现在你可以这样做: FactoryGirl.create(:stamps,:interval => :months) 要么 FactoryGirl.create(:stamps) 默认为年. 这一切都可以在Factory Girl transient attributes找到 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 手工撰写Rails里面的Update表单
- postgresql数据库怎么更改其中一个数据库的拥有者?
- objective-c – 如何实现或模拟“抽象”OCUnit测试类?
- c# – 取消SemaphoreSlim.Wait同步保持信号锁
- ajax请求带来的问题-----通过jQuery hashchange解决
- ruby-on-rails – Rails 4子域不适用于生产
- Ajax与SpringMvc交互
- c# – 最精确的Thread睡眠方法:Monitor.Wait vs System.Ti
- R CRAN中的注意检查:没有存储库集,因此跳过循环依赖关系检
- cocos2d-x 转场景时构造、init、onEnter、onExit、析构各函