我想修补spprocketsrails中的一个bug,但是当我运行测试套件(使用ruby-2.0.0-p0以及ruby-head)时,我得到了以下错误:
/Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:707:in `block in _prepare_run': undefined method `size' for #<ParallelEach:0x007f823aa55e88> (NoMethodError)
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:707:in `each'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:707:in `inject'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:707:in `_prepare_run'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:648:in `_run_suites'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:861:in `_run_anything'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:1068:in `run_tests'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:1055:in `block in _run'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:1054:in `each'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:1054:in `_run'
from /Users/btaitelb/.rvm/gems/ruby-head@rails-dev/gems/minitest-4.7.1/lib/minitest/unit.rb:1042:in `run'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:21:in `run'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:774:in `run'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:834:in `run'
from /Users/btaitelb/.rvm/rubies/ruby-head/lib/ruby/2.1.0/test/unit.rb:838:in `run'
from /Users/btaitelb/.rvm/rubies/ruby-head/bin/testrb:7:in `<main>'
我不清楚Test::Unit和MiniTest之间的关系,特别是因为我看到了Test/Unit。rb引用MiniTest::Unit
我可以用几种方式修补这个问题,但我不确定哪个项目是罪魁祸首(例如,我应该在哪里提交补丁):
- 在测试/单位。在ruby中,我可以用对
count
的调用替换对size
的调用,但这似乎只有在Test::Unit
期望ParallelEach
成为测试套件 的一部分时才合适。 - 在minitest中,我可以别名
count
到size
,这是有意义的,如果minitest负责将ParallelEach
对象发送到Test::Unit
这两个是合适的,还是有其他的事情发生(比如命名冲突)?
这原来是minitest中的一个bug,已经修复了:https://github.com/seattlerb/minitest/pull/275