【发布时间】:2012-08-30 19:23:17
【问题描述】:
场景
我在名为“last_week”的模型上有一个 named_scope。它所做的只是获取上周的记录。
我想对此进行测试,我的方法是测试返回的结果是否在一定范围内。我不知道这是否是在类方法上测试此功能的正确方法。
我无法使用 RSpec、Shouda 或其他第 3 方客户端插件。如果我愿意,我只能使用 Mocha。
# Model
class Article < ActiveRecord::Base
scope :last_week, :conditions => { :created_at => 1.week.ago..DateTime.now.end_of_day }
end
#Test
class ArticleTest < ActiveSupport::TestCase
test "named scope :last_week " do
last_week_range = DateTime.now.end_of_day.to_i - 1.week.ago.to_i
assert_in_delta last_week_range, Article.last_week.first.created_at - Article.last_week.last.created_at, last_week_range
end
end
寻求有关此方法正确或错误的反馈。
【问题讨论】:
标签: ruby-on-rails ruby unit-testing named-scope testcase