0
我想让ActiveRecord对象在几天内对该跨度运行测试。生成跨越天数的测试数据
例如,我希望在过去x天有x个帖子,以便我可以计算昨天发布的帖子的平均评分。这种方式我知道它不包括前几天帖子的测试。
我必须将数据库播种到做到这一点,还是要编写错误的测试? :)
我想让ActiveRecord对象在几天内对该跨度运行测试。生成跨越天数的测试数据
例如,我希望在过去x天有x个帖子,以便我可以计算昨天发布的帖子的平均评分。这种方式我知道它不包括前几天帖子的测试。
我必须将数据库播种到做到这一点,还是要编写错误的测试? :)
请参考以下简化示例,其中您的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... }