ruby – RuntimeError:自动加载常量时检测到循环依赖

前端之家收集整理的这篇文章主要介绍了ruby – RuntimeError:自动加载常量时检测到循环依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过引入请求和响应模型来重构我的控制器,以执行这个 presentation之后的控制器周围的一些逻辑.我分别包含了一个模块响应和请求的所有响应和请求模型.应用程序运行完美,但是当我运行测试时,我会收到以下错误.
Failure/Error: Unable to find matching line from backtrace
RuntimeError:
Circular dependency detected while autoloading constant Responses::FolderContentResponse

我的目录结构如下:
– 应用程式/
– 楷模/
– 答复/

注意:我已经看到与这个问题有关的问题,但他们的问题似乎与我不相似.在我的情况下,它随机发生,只有运行测试(RAILS TEST ENV)时,应用程序才能正常工作.

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

module Responses
 class FolderContentResponse < ContentResponse
 end
end

FolderContent响应类继承自ContentResponse,它具有更多的通用方法,FolderContent其他内容响应使用.

解决方法

这听起来很像Xavier Noria最近发现的一个 issue.简而言之,capybara以多线程模式启动应用程序进行测试,即使预先加载所有应用程序代码的设置未激活(因为需求和朋友不是线程安全的)

对于早期版本的rails 4.2已经修复了

config.allow_concurrency = false

在test.rb应该做的伎俩

猜你在找的Ruby相关文章