Получение неинициализированной постоянной ошибки при попытке запустить тесты - PullRequest
12 голосов
/ 17 июля 2009

Я только что обновил все свои гемы и обнаружил, что получаю ошибки при попытке запустить Test :: Unit тесты. Я получаю ошибку, скопированную ниже. Это происходит из-за создания нового пустого проекта Rails, создания простой модели и запуска rake test.

Пробовал поиск в Google "неинициализированной константы" и TestResultFailureSupport. Единственное, что я нашел, было это сообщение об ошибке с 2007 года.

Я использую OS X.

Это гемы, которые я обновил перед тем, как тесты перестали работать:

$ sudo gem outdated
Password:
RedCloth (4.2.1 < 4.2.2)
RubyInline (3.8.1 < 3.8.2)
ZenTest (4.1.1 < 4.1.3)
bluecloth (2.0.4 < 2.0.5)
capistrano (2.5.5 < 2.5.8)
haml (2.0.9 < 2.2.1)
hoe (2.2.0 < 2.3.2)
json (1.1.6 < 1.1.7)
mocha (0.9.5 < 0.9.7)
rest-client (1.0.2 < 1.0.3)
thoughtbot-factory_girl (1.2.1 < 1.2.2)
thoughtbot-shoulda (2.10.1 < 2.10.2)

Кто-нибудь еще видел эту проблему? Есть предложения по устранению неполадок?


UPDATE

По догадкам, я понизил ZenTest с 4.1.3 до 4.1.1, и теперь все снова работает.

Все еще любопытно узнать, видел ли кто-либо еще это или имеет какие-либо интересные комментарии или идеи.


$ rake test
(in /Users/me/foo)
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/helpers/users_helper_test.rb" "test/unit/user_test.rb" 
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)
    from /usr/local/lib/ruby/gems/1.8/gems/test-unit-2.0.2/lib/test/unit/testresult.rb:28
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:158:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/test-unit-2.0.2/lib/test/unit/ui/testrunnermediator.rb:9
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:158:in `require'
     ... 6 levels...
    from /usr/local/lib/ruby/1.8/test/unit/autorunner.rb:214:in `run'
    from /usr/local/lib/ruby/1.8/test/unit/autorunner.rb:12:in `run'
    from /usr/local/lib/ruby/1.8/test/unit.rb:278
    from /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/functional/users_controller_test.rb"

Ответы [ 12 ]

1 голос
/ 13 ноября 2009

Я получал это без установленного мокко или musta.

В этом посте предполагается, что это связано с несовместимостью в test-unit> = 2.0 , которую я установил в качестве зависимости для гемов systools. Понижение до 1.2.3 сработало для меня, может потребоваться и простое требование.

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

Если вы добавите следующую строку в ваш environment.rb или ваш config / environment / test.rb, это должно устранить проблему

config.gem "test-unit", :lib => "test/unit", :version => ">=2.0.9", :env => "test"

Полагаю, вам нужно добавить его перед строкой мокко, если вы используете мокко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...