【发布时间】:2013-06-02 01:00:52
【问题描述】:
我在 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_relative和从spec_helper.rb所在目录到lib 目录中资源的路径。类似require_relative "../lib/vger"而不是require "vger"ant 等。 -
@YevgeniyAnfilofyev 它似乎不起作用。我试过 require_relative '../lib/vger/' 还 require_relative '../lib/vger/resources/' 并删除了 requre 'Vger' 和 require "vger/resources/account_manager"
标签: ruby testing rspec rspec-rails