You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails系统测试无法加载开发环境正常运行的lib目录文件该如何修复?

这个错误的根因为测试环境下Ruby的require查找路径未包含项目根目录下的/lib文件夹:Rails 6默认不会自动将/lib目录加入全局加载路径,开发环境和控制台因加载逻辑差异可以正常找到文件,不代表测试环境也能正常加载。

解决方案

方案1:全局配置加载路径(推荐)

打开项目下的config/application.rb,在Rails应用配置块内加入如下配置:

class Application < Rails::Application
  # 原有配置保留,新增以下两行
  config.autoload_paths << Rails.root.join('lib')
  config.eager_load_paths << Rails.root.join('lib')
end

修改完成后执行spring stop停止缓存的Spring服务,再重新运行测试即可。

方案2:直接指定绝对路径引入(无需修改全局配置)

将app/models/order.rb首行的require "pago"替换为:

require Rails.root.join("lib", "pago").to_s

直接用项目绝对路径定位文件,跳过加载路径查找逻辑,修改后直接运行测试即可生效。

内容的提问来源于stack exchange,提问作者jbk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:54:05