RSpec错误:未初始化的常量ModuleName :: Chef(NameError)

托马斯·德拉内克(Thomas Deranek)

尝试为我的课程编写RSpec测试时出现错误。

相关的类代码如下(class_name.rb):

module ModuleName
  class ClassName < Chef::Knife
  ...
end

我相关的RSpec代码如下:(class_name_spec.rb):

require 'spec_helper'
RSpec.describe ModuleName::ClassName do
  ...
end

我的spec_helper.rb如下:

require 'rspec'
require 'chef/knife/class_name'

产生的错误如下

C:/.../project_folder/lib/chef/knife/class_name.rb:2:in '<module:ModuleName>': uninitialized constant ModuleName::Chef (NameError)

该代码是我正在为其编写测试的工作代码库,因此我不认为class_name中的代码有问题。我是否在我的class_name_spec.rb文件中缺少包含声明?还是我的设置方式有问题?

提前致谢!

托马斯·德拉内克(Thomas Deranek)

我解决了这个问题。

原来,我需要将其修改spec_helper为以下内容:

require 'rspec'
require 'chef/knife'
require 'chef/knife/class_name'

这让我感到困惑,因为在“ chef / knife”文件夹中没有任何其他文件,但是事实证明,这正是红宝石如何访问厨师宝石的刀子部分。如果有其他人要补充的东西可以进一步启发我,请这样做。我对此仍然感到困惑

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NameError:RSpec 上的未初始化常量

Rspec / Rails:未初始化的常量ActiveSupport :: Autoload(NameError)

无法运行RSpec(未初始化的常量用户(NameError)

Ruby错误-未初始化的常量OpenStruct(NameError)

MiniTest错误:“ NameError:未初始化的常量”

设计错误:NameError(未初始化的常量Unlock)

NameError:未初始化的常量(rails)

未初始化的常量Improvingoutes(NameError)

NameError:未初始化的常量Shoulda

未初始化的常量Logger(NameError)

Ruby NameError:未初始化的常量

NameError:未初始化的常量SingleColumnValueFilter

NameError:未初始化的常量DeviseMultipleTokenAuthDevice

NameError:未初始化的常量FileUtils

NameError:未初始化的常量Twitter

NameError:未初始化的常量发布

NameError(未初始化的常量

NameError:未初始化的常量项目

Rails + RSpec-不需要规范/支持文件;给出“未初始化的常量(NameError)”

Chef未初始化的常量Chef :: Recipe :: AWS

如何修复“ NameError:未初始化的常量Thor :: Base”错误?

修复此错误:NameError(未初始化的常量ActiveRecord :: ConnectionAdapters :: Mysql2Adapter :: Column)

为什么使用 NameError 创建新资源错误(未初始化的常量 Thing::user)?

Rails 测试错误,NameError:未初始化的常量 User::FILL_IN

jekyll最小错误主题抛出“未初始化的常量Faraday :: Error :: ClientError(NameError)”

NameError:未初始化的常量 Linked_Test::Nill

现有ID上的“ NameError:未初始化的常量”

耙子流产了!NameError:未初始化的常量用户

NameError:未初始化的常量Capistrano :: Puma