Test :: Unit 2.x тесты запускаются с rake, но не проходят автотест

У меня проблемы с запуском модульных тестов Rails через автотест с использованием Test :: Unit 2.0.6. Запуск тестов через rake test:units работает отлично, но когда я запускаю тесты из автотеста, я получаю следующее:

/Code/projectdir/vendor/rails/activesupport/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)
 from /Library/Ruby/Gems/1.8/gems/test-unit-2.0.6/lib/test/unit/testresult.rb:28
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
 from /Code/projectdir/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
 from /Library/Ruby/Gems/1.8/gems/test-unit-2.0.6/lib/test/unit/ui/testrunnermediator.rb:9
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
 from /Code/projectdir/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
 from /Library/Ruby/Gems/1.8/gems/test-unit-2.0.6/lib/test/unit/ui/console/testrunner.rb:11
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
 from /Code/projectdir/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/test/unit/autorunner.rb:25
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/test/unit/autorunner.rb:214:in `[]'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/test/unit/autorunner.rb:214:in `run'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/test/unit/autorunner.rb:12:in `run'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/test/unit.rb:278
 from -e:1

Версии:

  • Mac OS X 10.6.3
  • ruby 1.8.7 (уровень патча 173 от 08.06.2009) [универсальный-darwin10.0]
  • Рельсы 2.3.5 (на основе подтяжек)
  • автотест (4.3.2)
  • autotest-fsevent (0.1.3)
  • автотест-рычание (0.1.7)
  • автотест-рельсы (4.1.0)
  • ZenTest (4.3.3)
  • тестовый модуль (2.0.6)

Проблема также возникает с тестовым модулем 2.0.9. Я пробовал предложения в Получение неинициализированной постоянной ошибки при попытке запускать тесты и на http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/50, но все равно не повезло.

Автотест работает нормально, если я удалю утверждения, требующие Test :: Unit 2.x, и удалю гем test-unit. К сожалению, мне нужно использовать утверждения 2.x.

Любые идеи? Спасибо заранее за любую помощь.


person Eric Dennis    schedule 19.06.2010    source источник


Ответы (2)


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

person Aaron    schedule 18.11.2011
comment
Спасибо за ответ. Я давно отказался от этого проекта, поэтому у меня нет возможности проверить ваше решение, но я верю вам на слово. :) - person Eric Dennis; 28.12.2011

У меня такая же проблема: тесты работают нормально при запуске с граблей. Но когда я пробую автотест, я получаю ту же ошибку:

`const_missing': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)

Я использую shoulda 2.10.3, mocha 0.9.8 и test-unit 2.1.0. Я уже поработал с порядком загрузки драгоценных камней, чтобы сделать мокко и должно быть счастливым, и, как я уже сказал, с рейк-тестом все в порядке. Я пробовал несколько версий ZenTest (4.3.3, 4.1.1). Я пробовал автономную версию автотеста (4.3.2). Те же результаты. Я пробовал использовать test-unit 1.2.3 вместо 2.1.0, но это нарушает другие части моих тестов.

person Sven    schedule 26.07.2010