【问题标题】:How to include loadpath/dependency in rakefile如何在 rakefile 中包含加载路径/依赖项
【发布时间】:2013-03-29 15:33:00
【问题描述】:

我已经安装了,Ruby 1.8.7,ci_reporter 1.8.4,测试单元 2.5.4,rake 10.0.3。

我的 testA.rb :

require 'includeA.rb'
require 'includeB.rb'
require 'includeC.rb'
require 'includeD.rb'

Begin of the code...
... End of the code

通常我使用以下 cmd 执行测试:

ruby -I E:/pathToIncludeA/includeA.rb -I E:/pathToIncludeB/includeB.rb -I E:/pathToIncludeC/includeC.rb -I E:/pathToIncludeD/includeD.rb E:/pathToTestA.rb/testA.rb

一切正常。

但现在我正在使用 rake,并且我正在尝试以相同的方式包含目录。

这是我的 rakefile:

require 'rake/testtask'
require 'rubygems'
gem 'ci_reporter'
gem 'test-unit' 
require 'test/unit' 
require 'ci/reporter/rake/test_unit'  

task :default => [:test]

task :test do
  ruby '-I E:/pathToIncludeA/includeA.rb', '-I E:/pathToIncludeB/includeB.rb, '-I E:/pathToIncludeC/includeC.rb', '-I E:/pathToIncludeD/includeD.rb', E:/pathToTestA.rb/testA.rb
end

但是当我执行以下命令时:

rake test

我遇到以下错误:

E:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in 'gem_original_require': no such file to load -- includeA.rb (load error)
from E:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in 'require'
from E:/pathToTestA/testA.rb/

rake aborted!
command failed with status (1): [E:/Ruby/bin/ruby.exe -I pathToIncludeA/...]
Tasks: TOP => default => test

我做错了什么?有人可以帮我吗?

【问题讨论】:

  • 当你这样做时会发生什么:sh "ruby -I E:/pathToIncludeA/... 而不是ruby '-I E:/...
  • 有效!非常感谢,添加你的答案,我会给你声誉!

标签: ruby path include directory rakefile


【解决方案1】:

试试这个:

task :test do
  sh "ruby -I E:/pathToIncludeA/includeA.rb -I E:/pathToIncludeB/includeB.rb -I E:/pathToIncludeC/includeC.rb -I E:/pathToIncludeD/includeD.rb E:/pathToTestA.rb/testA.rb"
end

或者,如果您需要/喜欢在任务中使用 ruby 方法,请更改您的 testA.rb 以加载到 include(A|B|C|D).rb 的路径,然后:

task :test do
  # assuming the Rakefile and the testA.rb are in the same folder.
  ruby "testA.rb"
end

如果您的测试套件包含多个测试文件,例如 testA.rbtestB.rb 等,那么 Rake::TestTask 类可能会更容易。检查 Sinatra 项目如何使用它来获得一个想法:Sinatra/RakefileRake::TestTask Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-14
    • 2017-02-01
    • 1970-01-01
    • 2014-04-04
    • 2019-02-05
    • 2016-04-19
    • 2011-08-29
    • 2014-03-24
    相关资源
    最近更新 更多