0

Rails、アプリケーションをテストしようとしていますが、ある特定のケースでは、テストケース内に TimeWithZone オブジェクトを作成する必要があります。だから私はこのようにsthを書きます:

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 では正常に動作します)。

私が間違っていることについて何か考えはありますか?

4

1 に答える 1

1

newオブジェクトを作成してみてください:

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

ただし、このクラスのインスタンスを直接作成する必要はありません。

Time.zoneがすでに正しく設定されている場合は、そのatメソッドを使用するだけです。

started_at_with_zone = Time.zone.at(started_at)

詳細については、RailsAPIのドキュメントをご覧ください。

于 2010-10-16T22:50:53.357 に答える