【发布时间】:2021-01-28 17:07:35
【问题描述】:
我在 app/services/a/b/c.rb 有一堂课
Rspec 文件在 spec/services/a/b/c_spec.rb 中
我的班级是这样的:
module a
module b
class c
end
end
end
我的 rspec 如下所示:
require 'rails_helper'
describe a::b::c do
describe '#test' do
it 'should test func' do
end
end
end
但是每次我运行测试我都会得到这个错误::
未初始化的常量 a::b::c
谁能帮我解决这个问题?
【问题讨论】:
-
你试过重启spring了吗?我发现 app/services 目录在更改时无法正确重新加载。您必须通过 Spring.watch 手动告诉 Spring 监视该目录中的更改
-
这似乎不是代码的问题,假设一切如你所说。我自己测试过,效果不错。
-
根据
app/services/A/B/C.rb和spec/services/A/B/C_spec.rb,目录/文件名是否大写?如果它们是大写的,那么你就没有遵循约定。将所有目录/文件名改为小写字母并尝试。 -
@AmitPatel 类按照惯例使用小写字母。
-
@elliotcm 不知何故,rails 无法在测试环境中加载类。在开发中它工作正常。
标签: ruby-on-rails rspec