0
我想使用標準的Ruby文件佈局。我有幾個Spec文件,並試圖使用Minitest來運行這些測試。我明白,當需要文件時,我不應該使用'lib',因爲在使用'-I'給出Ruby庫路徑時通常會附加這些文件。運行spec文件時,我會遇到一些最小的常量單元化錯誤。無法獲取庫路徑與微型
- 有人可以解釋爲什麼我會得到這個錯誤?
- 我該怎麼做才能解決這個錯誤?
rakefile看起來不錯嗎?
/Users/rag/.rvm/gems/ruby-2.1.5/gems/minitest-5.8.1/lib/minitest/parallel.rb:19:in `initialize': uninitialized constant Minitest::Parallel::Executor::Queue (NameError) from /Users/rag/.rvm/gems/ruby-2.1.5/gems/minitest-5.8.1/lib/minitest.rb:23:in `new' from /Users/rag/.rvm/gems/ruby-2.1.5/gems/minitest-5.8.1/lib/minitest.rb:23:in `<module:Minitest>' from /Users/rag/.rvm/gems/ruby-2.1.5/gems/minitest-5.8.1/lib/minitest.rb:9:in `<top (required)>' from /Users/rag/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' from /Users/rag/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' from /Users/rag/.rvm/gems/ruby-2.1.5/gems/minitest-5.8.1/lib/minitest/autorun.rb:8:in `<top (required)>' from /Users/rag/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' from /Users/rag/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' from tests/test_jthread.rb:1:in `<main>'
spec文件:
cat tests/test_jthread.rb
require 'minitest/autorun'
require 'thread.rb'
describe JThread do
目錄結構:
$ bundle list
Gems included by the bundle:
* ansi (1.5.0)
* builder (3.2.2)
* bundler (1.10.6)
* minitest (5.8.1)
* minitest-reporters (1.1.4)
* ruby-progressbar (1.7.5)
rakefil:從包
lib/thread.rb
bin/
tests/test_jthread.rb
Gemfile
jta.gemspec*
寶石列表Ë
require 'rake/testtask'
Rake::TestTask.new do |task|
task.libs << %w(tests lib)
task.pattern = 'tests/test_*.rb'
end
desc "Run tests"
task :default => :test
謝謝您的回答。 1.其中是需要JThread類在文件j_thread.rb中的命名約定。我無法從'http:// ruby-doc.org/core-2.2.3/Kernel.html#method-i-require'中找到。 2.即使文件名是問題,拋出的錯誤也沒有提供有關問題的線索。 3.這是'task.pattern ='tests/**/test _ *。rb'' rake testtask中的正確模式,用於在測試中的任何目錄級別下運行所有測試文件? – Rag