如何在rails3单元/测试中获得TimeWithZone

时间:2010-10-16 18:03:26

标签: ruby-on-rails ruby activesupport

我正在尝试测试rails,应用程序,在一个特定情况下,我需要在我的测试用例中创建一个TimeWithZone对象。所以我这样写:

started_at = ActiveSupport::TimeWithZone(started_at, Time.zone)

只是出错:

NoMethodError: undefined method `TimeWithZone' for ActiveSupport:Module

我尝试过'active_support','active_support / time',''active_support / time_with_zone'。当我运行测试时,这些语句中的每一个都评估为false(它在irb中工作正常)

对我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

尝试创建new对象:

started_at = ActiveSupport::TimeWithZone.new(started_at, Time.zone)

但是,您永远不需要直接创建此类的实例。

如果您已经正确设置了Time.zone,则只需使用at方法:

started_at_with_zone = Time.zone.at(started_at)

请查看Rails API documentation了解详情。