Как получить TimeWithZone внутри rails3 юнит / тест - PullRequest
0 голосов
/ 16 октября 2010

Я пытаюсь протестировать рельсы, приложение, и в одном конкретном случае мне нужно создать объект 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 ',каждое из этих утверждений оценивается как ложное, когда я запускаю тесты (это нормально работает в irb)

Есть идеи о том, что я делаю неправильно?

1 Ответ

1 голос
/ 17 октября 2010

Попробуйте создать объект new:

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

Однако вам не нужно создавать экземпляры этого класса напрямую.

Если у вас уже правильно настроен Time.zone, вы можете просто использовать метод at:

started_at_with_zone = Time.zone.at(started_at)

Подробнее смотрите в документации Rails API .

...