Tôi đang gặp vấn đề trong kiểm tra đá quý của tôi bao gồm một thư mục lib
, trên JRuby 1.7.4.Làm thế nào để bao gồm thư mục lib trong các thử nghiệm rspec
Tôi muốn thử nghiệm một tập tin nằm ở lib/vger/resources/account_manager.rb
file spec của tôi là trong spec/vger/resources/account_manager_spec.rb
require 'spec_helper'
describe Vger::Resources::AccountManager do
.
.
end
end
Tôi cố gắng để bao gồm các tập tin mà tôi muốn kiểm tra trong spec_helper.rb
require 'rubygems'
require 'bundler/setup'
require 'vger/resources/account_manager'
require 'vger'
RSpec.configure do |config|
# some (optional) config here
end
Trong khi chạy thử nghiệm theo lệnh rspec spec/vger/resources/account_manager_spec.rb
Tôi nhận được lỗi này:
NameError: uninitialized constant Vger::Resources
const_missing at org/jruby/RubyModule.java:2631
Dường như tệp mà tôi muốn thử nghiệm không được tải. Xin vui lòng cho tôi biết nơi tôi đang đi sai và tôi nên sửa chữa ở đâu.
Cố gắng sử dụng 'require_relative' và đường dẫn đến các tài nguyên trong thư mục lib từ thư mục chứa' spec_helper.rb'. Một cái gì đó như 'require_relative" ../ lib/vger "' thay vì 'require" vger "' ant ... –
@YevgeniyAnfilofyev Nó dường như không hoạt động. Tôi đã thử require_relative '../lib/vger/' cũng require_relative '../lib/vger/resources/' và loại bỏ requre 'Vger' và yêu cầu "vger/resources/account_manager" –
Xem câu hỏi này http: // stackoverflow.com/questions/11376718/require-lib-in-rspec-với-ruby-1-9-2-mang-no-such-file-to-load – toro2k