我正在尝试测试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中工作正常)
对我做错了什么的想法?
答案 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了解详情。