我有一个基于 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!