2010-07-31 70 views
2

我已經把這個信息放入了一個餡餅,但在這裏重複( pastie鏈接http://pastie.org/private/4vprzwhllqv35egrf8jzwg耙測試問題...耙報告「找不到任務./test/whatever-my-first-test-file-is.rb」

的問題出現了在我自己的項目,但我不知道我做錯了什麼:這裏是完整的輸出:

$ rake test 

(in /Users/me/Projects/version-three) 
/Users/me/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby -I"lib:test" "/Users/me/.rvm/gems/ruby-1.9.2-rc2/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "./test/test_a.rb" "./test/test_configuration.rb" "./test/test_generator_base.rb" "./test/test_lazy_attr_accessor.rb" "./test/test_output_spokesman.rb" "./test/test_path_for_executable.rb" 
Test run options: --seed 28629 

Loaded suite /Users/me/.rvm/gems/ruby-1.9.2-rc2/gems/rake-0.8.7/lib/rake/rake_test_loader 
Started 

...............Could not find task "./test/test_a.rb". 
...... 

Finished in 0.014943 seconds. 

21 tests, 19 assertions, 0 failures, 0 errors, 0 skips 
Test run options: --seed 28629 

正如你可以看到有一個錯誤的Could not find task "./test/test_a.rb" - 我添加了這個文件,僅僅是爲了阻止它在我的第一個文件上窒息而重要的測試!

的Rake文件簡單得不能再簡單,只是這樣的:

require 'rake/testtask' 

task :default => :test 

Rake::TestTask.new do |t| 
    t.libs << "test" 
    t.test_files = FileList['./test/test_*.rb'] 
    t.verbose = true 
end 

我使用的相關工具以下版本,你可以看到我使用RVM,我看到關於Ruby同樣的問題1.8.7。

$ rake --version 
    rake, version 0.8.7 

$ ruby --version 
    ruby 1.9.2dev (2010-07-11 revision 28618) [x86_64-darwin10.4.0] 

$ rvm --version 
    rvm 0.1.43 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/] 
+0

這很奇怪。即使您的摘錄正是文檔中的內容。我會嘗試省略't.libs <<「test」'行,並將其默認爲'lib'目錄。 – 2010-07-31 16:03:13

+0

除非你的代碼在其他地方出現奇怪的事情。 – 2010-07-31 16:07:02

+0

布萊恩,如果我刪除所有自定義選項,並依靠默認值,我有完全相同的行爲:( – 2010-07-31 16:09:06

回答

0

看來需要Thor當這個問題出現了 - 這是一個耙子更換,按說 - 也許我需要考慮它更多,但我的測試之一是測試雷神支持發生器。

我會更深入地研究發生了什麼!

我已經確定了(愚蠢)的問題,該消息實際上是走出托爾的,我有一條線,上面寫着這樣的:

def test_banner_if_starting_generator_with_no_args 
    ::Cli::Generator.start(ARGV) 
    # Test the banner output here... 
    end 

當然ARGV的,被設定爲第一個文件中該列表由Rake的FileList彙編並傳遞給測試加載器。

對不起,浪費任何人的時間誰看着這一點。

解決方案:將ARGV存根至[],因爲這正是我正在測試的內容!