3

次のような 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_allgemをインストールしています(で見ることができ、gem listで必要としますirb)。ここでそれを要求できない理由を誰かが知っていますか?

4

1 に答える 1

3

rake タスクを含むファイルの先頭に追加require 'rubygems'します。

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

これにより、ルビーに宝石を含めるように指示され、それらを実行できるようになります

于 2010-06-25T18:36:20.653 に答える