2012-02-04 7 views
5

以内に「すくいテスト」を実行しようとしている私だけgithubのからレールのソースコードをクローニングし、テストスイートを実行しようとした...私は大きな失敗だ:は、レールのソースコード

[email protected]:~/coding/rails/rails(master)>bundle exec rake test --trace 
** Invoke test (first_time) 
** Execute test 
/Users/patrick/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -w -I"lib:test" -I"/Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib" "/Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb" "test/**/*_test.rb" 
/Users/patrick/coding/rails/rails/activesupport/lib/active_support/test_case.rb:20:in `<class:TestCase>': undefined method `register_spec_type' for ActiveSupport::TestCase:Class (NoMethodError) 
    from /Users/patrick/coding/rails/rails/activesupport/lib/active_support/test_case.rb:11:in `<module:ActiveSupport>' 
    from /Users/patrick/coding/rails/rails/activesupport/lib/active_support/test_case.rb:10:in `<top (required)>' 
    from /Users/patrick/coding/rails/rails/activesupport/test/benchmarkable_test.rb:3:in `<top (required)>' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `require' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `block in <main>' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select' 
    from /Users/patrick/.rvm/gems/[email protected]_patch/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `<main>' 
rake aborted! 
Command failed with status (1): [/Users/patrick/.rvm/rubies/ruby-1.9.2-p180...] 

Tasks: TOP => test 
(See full trace by running task with --trace) 

をそして多数ありますそれ以降はもっと似たエラー出力が出ますので、ここで貼り付けても構いません。

どのようにこれらのテストを実行することができますか?

答えて

9

あなたはruby 1.9.2で動作しています。レールマスターブランチ(別名Rails 4)には、1.9.3以上のルビが必要です。見つからないメソッドregister_spec_typeは、ruby 1.9.3によって解決されます。

私はあなたがRVMを使用しているのを見ています。これは素晴らしいことです。その後

$ rvm get stable 

、あなたはルビー1.9を持っていることを確認してください。それはあなたがそれをアップグレードする必要があるかもしれません何歳RVMのコピーがあり、依存...簡単に1.9.3へのアップグレード

を行います。図3は、インストールされ、あなたはそれを使用していること:あなたはおそらく、バンドル内のすべての宝石を再インストールする必要があります

$ rvm install 1.9.3 
$ rvm use 1.9.3 

$ bundle install 
$ bundle exec rake test 
+1

'行うRVM head'を取得し、最新のリリースバージョンではなく、開発の先頭に更新するように' RVM GET latest'を使用しないでください:は今、あなたが成功したテストを実行することができるはずです。 –

+0

ありがとう@AndrewMarshall、良いキャッチ。私はあなたの提案を反映するために上記の答えを更新しました。 – scottwb

+1

'rvm get latest'は推奨されていません。 'rvm get stable 'は明らかに新しい暑さです。 –