2016-02-25 48 views
0

我想让ActiveRecord对象在几天内对该跨度运行测试。生成跨越天数的测试数据

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

我必须将数据库播种到做到这一点,还是要编写错误的测试? :)

回答

0

请参考以下简化示例,其中您的posts表具有rating列和created_at列。

你可以'种子'/设置你的测试来模拟这个,而不需要真正为你的种子开发数据库。

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... }