代码之家  ›  专栏  ›  技术社区  ›  Lee Hambley

“rake test”问题“rake reports”找不到任务。/test/whatever我的第一个测试文件是.rb”

  •  2
  • Lee Hambley  · 技术社区  · 14 年前

    我把这些信息放进了一个pastie,但在这里重复了一遍(pastie链接) http://pastie.org/private/4vprzwhllqv35egrf8jzwg )

    问题出现在我自己的项目中,但我不知道我做错了什么:下面是完整的输出:

    $ 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" -我添加这个文件只是为了阻止它阻塞我的第一个重要测试文件!

    耙子再简单不过了,就是这样:

    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 (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Lee Hambley    14 年前

    看来这个问题在需要的时候出现了 Thor -这是一个耙子的替代品,据说-也许我需要进一步研究,但我的一个测试是测试一个雷神支持的发电机。

    我已经发现了(愚蠢的)问题,信息实际上来自于雷神,我有一句话是这样写的:

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

    当然了 ARGV

    很抱歉浪费了任何人的时间调查此事。

    阿格夫 []