Ошибка стека системы тестирования Rails - PullRequest
0 голосов
/ 14 апреля 2010

Я возобновил тестирование своего приложения rails после его приостановки. Запуск тестов в моем приложении rails теперь возвращает ошибку SystemStackError. Даже простой тест вроде

def test_per_page

assert_instance_of Fixnum, Activity.per_page

конец

дает мне

C: /Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/m odule / introspection.rb: 74: в `local_constants ': слишком большой уровень стека (SystemStac kError)

 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/module/introspection.rb:73:in `select'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/module/introspection.rb:73:in `local_constants'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/module/introspection.rb:86:in `local_constant_names'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:531:in `new_constants_in'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:525:in `collect'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:525:in `new_constants_in'
 from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
 from C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/locator.rb:89:in `plugins'
  ... 12095 levels...
 from ./unit/../test_helper.rb:2
 from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
 from unit/my_test.rb:1

Я обнаружил, что у нас был установлен gem тестового модуля и удалил его. Даже после этого та же проблема продолжает появляться. У меня установлен rcov и то же самое при использовании rcov также ..

C: /Ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb: 666: в хэше: слишком большой уровень стека (SystemStackError)

    from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `inject'
    from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:664:in `each'
    from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:664:in `inject'
    from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:664:in `hash'
    from C:/Ruby/lib/ruby/1.8/tsort.rb:219:in `[]='
    from C:/Ruby/lib/ruby/1.8/tsort.rb:219:in `each_strongly_connected_component_from'
    from C:/Ruby/lib/ruby/1.8/tsort.rb:219:in `each'
    from C:/Ruby/lib/ruby/1.8/tsort.rb:219:in `each_strongly_connected_component_from'
     ... 12099 levels...
    from C:/Ruby/lib/ruby/gems/1.8/gems/rcov-0.8.1.2.0-x86-mswin32/bin/rcov:554:in `load'
    from C:/Ruby/lib/ruby/gems/1.8/gems/rcov-0.8.1.2.0-x86-mswin32/bin/rcov:554
    from C:/Ruby/bin/rcov:19:in `load'
    from C:/Ruby/bin/rcov:19

Кто-нибудь когда-нибудь сталкивался с чем-то подобным ... Я понимаю, что требование к самоцвету вызывается снова и снова ... Есть ли способ обойти это?

1 Ответ

0 голосов
/ 04 июня 2010

по электронной почте Ой! У меня было два инициализатора для rcov, когда среда запускалась. Один в файле environment.rb, а другой в отдельном файле test.rb в подпапке env в папке config. Так что это продолжалось и продолжалось в непрерывном цикле. В любом случае, проблема решена, и Земля все еще вращается.

Спасибо

...