0

我有一个基于 JRuby 的 Rails 3 项目,它在开发模式下运行良好。

但是,即使在其中运行基本单元测试也会产生“java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:784)”引发的“java.util.ConcurrentModificationException”错误。

它正在正确加载我的初始化脚本,然后稍后会生成此错误。

我删除了我添加的测试,但即使在最基本的自动生成的“断言为真”测试中它仍然失败。

跟踪给了我:

** 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!
4

1 回答 1

0

如果您还没有使用 JRuby 1.5.6,请尝试升级到这个最新版本。

JRuby 家伙应用了一个修复程序,您可以在此处阅读

于 2010-12-28T17:38:45.213 回答