основанный на jruby проект Rails3, выполнение модульного теста выдает ошибку 'java.util.ConcurrentModificationException' - PullRequest
0 голосов
/ 27 декабря 2010

У меня есть проект Rails 3, основанный на JRuby, который отлично работает в режиме разработки.

Но при выполнении даже базового модульного теста в нем генерируется «java.util.ConcurrentModificationException» ошибка повышена »at java.util.WeakHashMap $ HashIterator.nextEntry (WeakHashMap.java:784) '.

Он правильно загружает мои сценарии инициализации, а затем генерируется эта ошибка.

Я удалил свои добавленные тесты, но он по-прежнему не работает даже при самом простом автоматически сгенерированном тесте «подтвердить истину».

Трассировка дает мне:

** Invoke test:units (first_time)
** Invoke test:prepare (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
** Execute test:prepare
** Execute test:units
java.util.ConcurrentModificationException
        at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:784)
        at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:817)
        at org.jruby.Ruby.eachModule(Ruby.java:780)
        ..........
        at org.jruby.util.ShellLauncher$ScriptThreadProcess.run(ShellLauncher.java:136)
        at java.lang.Thread.run(Thread.java:636)
rake aborted!

1 Ответ

0 голосов
/ 28 декабря 2010

Если вы еще не используете JRuby 1.5.6, попробуйте обновить его до последней версии.

Ребята из JRuby применили исправление, которое вы можете прочитать здесь .

...