2012-02-04 10 views
5

simplemente cloné el código fuente de los carriles de GitHub, y trató de ejecutar el conjunto de pruebas ... Tengo grandes fracasos:intentar ejecutar "prueba rastrillo" dentro de los carriles código fuente

[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) 

Y hay mucho más salida de error similar después de eso, que parece bastante idéntica, así que no me molestaré en pegarla aquí ...

¿Alguien sabe cómo puedo hacer que se ejecuten estas pruebas?

Respuesta

9

Se está ejecutando bajo ruby ​​1.9.2. La rama principal de los rieles (también conocida como Rails 4) requiere ruby ​​1.9.3 o superior. El método que falta register_spec_type se resolverá con ruby ​​1.9.3.

Veo que está utilizando RVM, que es genial. Eso hará que la actualización a 1.9.3 fácil ...

Dependiendo de la edad de su copia de RVM está, puede que tenga que actualizar con:

$ rvm get stable 

A continuación, asegúrese de que usted tiene Ruby 1.9. 3 instalado y que se está utilizando:

$ rvm install 1.9.3 
$ rvm use 1.9.3 

es probable que tenga que volver a instalar todas las gemas en el paquete:

$ bundle install 

Ahora usted debería ser capaz de ejecutar las pruebas con éxito con:

$ bundle exec rake test 
+1

Por favor, no hacer 'RVM obtener head', utilice' RVM get latest' para actualizar a la última versión publicada en lugar de la cabeza del desarrollo. –

+0

Gracias @AndrewMarshall, buena captura. He actualizado la respuesta anterior para reflejar su sugerencia. – scottwb

+1

'rvm get latest' ha quedado obsoleto. 'rvm get stable' es aparentemente el nuevo hotness. –

Cuestiones relacionadas