我有一个 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
中需要它)。有谁知道为什么我不能在这里要求它?
最佳答案
将 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 包含您的 gem,以便您可以运行它们
关于ruby - 要求不在规范内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117160/