rails matchers cleaner bot ruby ruby-on-rails-4 web rspec-rails

ruby - matchers - RuntimeError: dependencia circular detectada mientras se carga automáticamente la constante



rspec ruby (1)


Refactore mis controladores introduciendo modelos de solicitud y respuesta para hacer algo de la lógica que estaba rondando a los controladores después de esta presentación . Envolví todas las respuestas y solicité modelos con un módulo Respuestas y Solicitudes, respectivamente. Las aplicaciones se ejecutan perfectamente, pero cuando ejecuto las pruebas, aparece el siguiente error.

Failure/Error: Unable to find matching line from backtrace RuntimeError: Circular dependency detected while autoloading constant Responses::FolderContentResponse

Mi estructura de directorio es la siguiente:
- aplicación /
- modelos /
- respuestas /

Nota: He visto las preguntas relacionadas con este tema, pero sus problemas no parecían similares a los míos. En mi caso, esto ocurre al azar, y solo cuando se ejecutan las pruebas (RAILS TEST ENV), la aplicación funciona perfectamente.

module Responses class ContentResponse include ActiveAttr::Model #some attributes #some methods end end module Responses class FolderContentResponse < ContentResponse end end

La clase de respuesta FolderContent hereda de ContentResponse que tiene más métodos genéricos que otras respuestas de contenido de FolderContent.


Esto se parece mucho a un problema encontrado recientemente por Xavier Noria. En pocas palabras, el carpincho inicia su aplicación en modo multiproceso para la prueba, aunque la configuración para cargar todo el código de la aplicación por adelantado no está activada (se necesita porque require y los amigos no son seguros para la ejecución de los hilos)

Se ha solucionado para los rieles 4.2, en versiones anteriores

config.allow_concurrency = false

en test.rb debería hacer el truco