Я сталкиваюсь со странной проблемой при выполнении теста (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'
решит проблему.
Мои проблемы с этим двояки:
- Это хаки
- Я пробовал в различныхмест (в
config/environments/test.rb
, в самом тестовом файле и т. д.), и он просто не работает.
Если у кого-то есть идеи, что происходит, я приветствую их!