【发布时间】:2014-01-15 08:56:19
【问题描述】:
我正在尝试为 start_date 和 end_date 定义一个序列,以便 end_date 应该比 start_date 提前 n 天。
sequence(:start_date) { |n| Date.current.beginning_of_year.since(n.days) }
sequence(:end_date) { |n| generate(:start_date).since(n.days) }
但这会导致 undefined_method 错误,这是预期的,因为应该在工厂块中调用 generate
NoMethodError: undefined method `generate' for #<FactoryGirl::Syntax::Default::DSL:0xe5351fc>
我也可以将 end_date 排序为
sequence(:end_date) { |n| Date.current.beginning_of_year.ago(n.days) }
但这可能会导致我的 end_date 落后于 start_date,这是意料之中的。
有没有更好的方法来定义所需的开始和结束日期的顺序?
【问题讨论】:
标签: ruby-on-rails ruby rspec tdd factory-bot