加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 23:00:36 所属栏目:百科 来源:网络整理
导读:我通过引入请求和响应模型来重构我的控制器,以执行这个 presentation之后的控制器周围的一些逻辑.我分别包含了一个模块响应和请求的所有响应和请求模型.应用程序运行完美,但是当我运行测试时,我会收到以下错误. Failure/Error: Unable to find matching line
我通过引入请求和响应模型来重构我的控制器,以执行这个 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应该做的伎俩

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读