2010-10-16 18 views
0

J'essaie de tester un rail, une application, et dans un cas particulier, j'ai besoin de créer un objet TimeWithZone dans mon testcase. Alors j'écris STH comme ceci:Comment obtenir TimeWithZone dans rails3 unité/test

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

seulement pour obtenir une erreur:

NoMethodError: undefined method `TimeWithZone' for ActiveSupport:Module 

J'ai essayé exigeant 'active_support', 'active_support/heure', '' active_support/time_with_zone ». chacune de ces déclarations est fausse quand j'exécute des tests (ça marche bien dans irb)

Une idée de ce que je fais de mal?

Répondre

1

Essayez de créer un new objet:

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

Cependant, vous ne devriez jamais besoin de créer des instances de cette classe directement.

Si vous avez Time.zone configuré correctement déjà, vous pouvez simplement utiliser la méthode at sur elle:

started_at_with_zone = Time.zone.at(started_at) 

Jetez un oeil à la Rails API documentation pour plus de détails.

+0

bonjour: D, quelle erreur stupide j'ai faite, merci! – dahpgjgamgan