我的rspec测试看起来像这样:
require 'require_all'
require_rel '../spec_helper'
describe "HtmlEntities" do
...some tests
end
我正在从一个看起来像
的rake任务中调用它require 'rspec/core/rake_task'
Rspec::Core::RakeTask.new(:spec) do |spec|
# spec.libs << 'lib' << 'spec'
# spec.spec_files = FileList['spec/**/*_spec.rb']
end
但我得到了例外:
./spec/fixers/entities_spec.rb:1:in `require': no such file to load -- require_all (LoadError)
from ./spec/fixers/entities_spec.rb:1
我确实安装了require_all
gem(我可以在gem list
中看到它并在irb
中要求它)。有谁知道为什么我不能在这里要求它?
答案 0 :(得分:2)
将require 'rubygems'
添加到包含rake任务的文件顶部:
require 'rubygems'
require 'rspec/core/rake_task'
Rspec::Core::RakeTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
end
这将告诉ruby包含你的宝石,以便你可以运行它们