テスト(Steak + Capybara)の実行中に、エラーが発生する特定のページを要求する奇妙な問題が発生しました。
undefined method parse for Time:Class
メソッド呼び出しは、次の名前のSunspotファイルで発生しますtype.rb
。
def value_to_utc_time(value)
if value.respond_to?(:utc)
value.utc
elsif value.respond_to?(:new_offset)
value.new_offset
else
begin
Time.parse(value.to_s).utc
rescue ArgumentError
DateTime.parse(value.to_s).new_offset
end
end
end
でサーバーを実行するとRAILS_ENV=test
、同じエラーが発生します。開発中のサーバーを実行すると、すべてが正常でダンディです。これは、それが私のテストフレームワークだけでなく、このエラーを促進しているテスト環境全体であることを示しているように思われます。
未定義についてこれまでオンラインで見つけた唯一の情報はTime.parse
まったく役に立たず、ほとんどの人が追加require 'time'
することで問題が解決すると言っています。
これに関する私の問題は2つあります。
- それはハッキーです
- さまざまな場所(
config/environments/test.rb
テストファイル自体など)で試しましたが、機能しません。
誰かが何が起こっているのか考えているなら、私は彼らを歓迎します!