Activerecord 生成跨天的测试数据

Activerecord 生成跨天的测试数据,activerecord,factory-bot,faker,Activerecord,Factory Bot,Faker,我想让ActiveRecord对象对这段时间运行测试 例如,我希望在过去的x天内发布x个帖子,以便计算昨天发布的帖子的平均评分。这样我就知道它不包括前几天发布的测试 我是否需要在数据库中植入种子才能执行此操作,或者我正在编写糟糕的测试?:) 以下面的简化示例为例,您的posts表有rating列和在列创建的 您可以“种子化”/设置您的测试来模拟这一点,而不需要为此实际为您的开发数据库种子化 let(:post_one) { Post.create(rating: 5, created_at: T

我想让ActiveRecord对象对这段时间运行测试

例如,我希望在过去的x天内发布x个帖子,以便计算昨天发布的帖子的平均评分。这样我就知道它不包括前几天发布的测试


我是否需要在数据库中植入种子才能执行此操作,或者我正在编写糟糕的测试?:)

以下面的简化示例为例,您的
posts
表有
rating
列和在
列创建的

您可以“种子化”/设置您的测试来模拟这一点,而不需要为此实际为您的开发数据库种子化

let(:post_one) { Post.create(rating: 5, created_at: Time.now) }
let(:post_two) { Post.create(rating: 5, created_at: Time.yesterday) }

  it "calculates the average correctly" do
    expect "your expectation"
  end
理想情况下,使用FactoryGirl,而不是简单地
Post.create
。然后,您可以为
FactoryGirl.create(:post){etc..}