Minitest 未初始化的常量错误

8 浏览
0 Comments

Minitest 未初始化的常量错误

我试图使用rake test运行带有Spec语法的Minitest,并收到以下错误:

/path/to/gem/spec/script_spec.rb:3:in `': uninitialized constant MyGem (NameError)

我的Rakefile:

require 'rake/testtask'
Rake::TestTask.new do |t|
  t.test_files = FileList['spec/*_spec.rb']
end

我的文件结构:

gem/
--lib/
----script.rb
--spec/
----script_spec.rb
--Rakefile

我的script.rb:

module MyGem
  class OptionParser
    def self.option?(arg)
      arg =~ /^-{1,2}\w+$/
    end
  end
end

在script_spec.rb中使用Minitest::Spec语法:

require "minitest/autorun"
describe MyGem::OptionParser do
  describe "option?" do
    it "must be true for option name" do
      OptionParser.option?('--nocolor').assert true
    end
  end
end

如何修复这个错误?也许lib文件夹没有被加载?我是否漏掉了与Spec语法相关的内容?

0