帮助我理解为什么这个项目的测试在直接执行时运行,但在通过 rake 运行时不运行。通过 Rake TestTask 运行时出现错误:
** Execute test
/home/myockey/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -I"lib:test" "/home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/data_test.rb" "test/unit/station_test.rb" "test/unit/raw_test.rb" "test/unit/parser_test.rb" "test/unit/report_test.rb"
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- test/unit/../metar_test_helper.rb (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from test/unit/data_test.rb:4:in `<top (required)>'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `block in <main>'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `<main>'
rake aborted!
当我直接运行脚本时,我得到以下信息:
myockey@myockey-K61IC:~/opt/joeyates-metar-parser-cdca19f/test/unit$ ruby data_test.rb
Loaded suite data_test
Started
...................................................
Finished in 0.084939 seconds.
51 tests, 121 assertions, 0 failures, 0 errors, 0 skips
ruby 文件的顶部如下所示:
#!/usr/bin/env ruby
# encoding: utf-8
require File.dirname(__FILE__) + '/../metar_test_helper'
class TestMetarData < Test::Unit::TestCase
请注意,我尝试将 .rb 文件扩展名添加到 metar_test_helper 但无济于事。请放心,该文件的父目录中存在名为metar_test_helper.rb 的文件,并且该文件具有足够的访问权限。
添加了赏金。我知道这一定是一个简单的路径问题,但我真的很感激一些解决它并帮助我理解它的指导。
您在这两种情况下都使用 Ruby 1.9.2 吗?
1.9.2 不包括"."
在路径($:
),而 1.9.2 之前的版本则如此。
要检查您正在使用的 Ruby 版本以及路径是什么,请执行以下操作
STDERR.puts "RUBY_VERSION is #{RUBY_VERSION}"
STDERR.puts "Path is #{$:}"
在引发异常的行之前
require File.dirname(__FILE__) + '/../metar_test_helper'
如果这不能解决问题,请询问它需要什么,方法是
STDERR.puts "The file I'm requiring is #{File.dirname(__FILE__) + '/../metar_test_helper'}"
看看这两种方法的效果如何。
您可能想查看有关调试的其他提示如何调试 Ruby 脚本? https://stackoverflow.com/questions/3955688/how-do-i-debug-ruby-scripts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)