幫我理解爲什麼這個項目的測試直接執行時運行,但不通過rake運行。爲什麼這需要從耙子失敗,但明確運行時成功?
** 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!
當我直接運行該腳本,我得到以下:
[email protected]:~/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
紅寶石文件的頂部看起來是這樣的:
#!/usr/bin/env ruby
# encoding: utf-8
require File.dirname(__FILE__) + '/../metar_test_helper'
class TestMetarData < Test::Unit::TestCase
時通過耙TestTask運行錯誤
請注意,我嘗試將.rb文件擴展名添加到metar_test_helper無濟於事。請放心,文件的父目錄中存在一個名爲metar_test_helper.rb的文件,並且它具有足夠的權限以供訪問。
增加了賞金。我知道這肯定是一個簡單的路徑問題,但我真的很感謝解決它的一些指導並幫助我理解它。
我懷疑這是一個路徑isue,但我重申,我不明白爲什麼。請注意爲它無法加載的文件提供的相對路徑:「test/unit /../ metar_test_helper.rb」。這是RakeFile和我執行Rake的目錄的正確相對路徑。這是不是它應該採取的正確道路? – 2011-03-31 12:53:37
我打算回覆同樣的事情,只是我不瞭解Ruby。 :) – Christian 2011-04-03 01:50:16