我在JRuby 1.7.4上测试包含lib目录的gem时遇到问题。

我想测试位于lib/vger/resources/account_manager.rb的文件

我的规格文件在spec/vger/resources/account_manager_spec.rb

require 'spec_helper'

describe Vger::Resources::AccountManager do
    .
    .
    end
end

我正在尝试将要测试的文件包含在spec_helper.rb
require 'rubygems'
require 'bundler/setup'
require 'vger/resources/account_manager'
require 'vger'

RSpec.configure do |config|
  # some (optional) config here
end

通过命令rspec spec/vger/resources/account_manager_spec.rb运行测试时,出现此错误:
NameError: uninitialized constant Vger::Resources
    const_missing at org/jruby/RubyModule.java:2631

我似乎未加载要测试的文件。请告诉我我要去哪里错了,应该在哪里纠正。

最佳答案

在调用require应该可以解决之前,在spec_helper.rb中手动更新您的LOAD PATH。尝试将其作为spec_helper.rb的第一行:

$: << '../lib'

要么
$LOAD_PATH << '../lib'

($:$LOAD_PATH的别名)

07-24 21:23