ruby - 要求不在规范内工作

标签 ruby rspec rake require

我有一个 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/

相关文章:

ruby-on-rails - 执行命令 rake :db:schema:dump

ruby-on-rails - 避免在映射变量中使用引号

ruby-on-rails - Rails has_many :through Find by Extra Attributes in Join Model

ruby - 为什么\d+ 不匹配所有数字?

ruby - RSpec 类变量测试

ruby - 当我在我的模型上运行 RSpec 时,为什么会出现 "strip"和 "downcase"的未定义方法错误?

ruby-on-rails - 阻止 rake db :migrate 的 Drop_table 问题

php - 使用 gems 从 PHP 运行 ruby​​ 脚本

ruby-on-rails - Rails 3教程第11章 "Validation failed: Email has already been taken"错误

ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP