Не в состоянии запустить Rspec из-за ошибки Reform: "неопределенный метод`feature'для Reform::Form:Class (NoMethodError)"
Я просто пытаюсь запустить некоторые тесты, и я получаю эту ошибку:
undefined method `feature' for Reform::Form:Class (NoMethodError)
Это происходит в /usr/local/bundle/gems/reform-2.2.3/lib/reform/form.rb:75
эта строка в form.rb является первым словом DSL feature
используется. Конечно, это не происходит, когда я запускаю приложение rails, а только когда я запускаю rspec..
Это определено в Одноразовом драгоценном камне, используемом реформой. Сначала я подумал, что проблема в более старой версии rspec, но даже после того, как я обновился до последних версий, все еще не работает. Чтение кода или документации не привело меня к какому-либо особому поведению загрузки, которое отличается между тестами и запусками приложения.
Я использую следующие версии драгоценных камней: rspec-3.3.0, реформ-2.2.3, одноразовые-0.3.2
У кого-нибудь есть ключ?
-- Обновить --
После удаления всей тестовой среды (удаления RSpec и удаления всех связанных файлов) и повторной установки я дошел до того, что RSpec запускается сам по себе, но при попытке загрузить мою среду в тестовый файл происходит сбой при той же ошибке.
1 ответ
Ну, проблема была в том, что мы добавили переопределение Контракта Реформы и не сделали это слишком изящно, таким образом, не требуя всего того, что требовал первоначальный Контракт Реформы. В качестве исправления мы теперь создали базовый контракт, который наследуется от Reform::Contract
вместо того, чтобы переопределить это и теперь все работает хорошо. Единственная причина, по которой мы нашли это при запуске RSpec
и не в бегах Rails c
это из-за разного порядка загрузки вещей.