Не в состоянии запустить 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 это из-за разного порядка загрузки вещей.

Другие вопросы по тегам