更新到jruby-1.7.13后,jruby中要求自制的gem失败。[英] require self made gem in jruby fails after update to jruby-1.7.13

本文是小编为大家收集整理的关于更新到jruby-1.7.13后,jruby中要求自制的gem失败。的处理方法,想解了更新到jruby-1.7.13后,jruby中要求自制的gem失败。的问题怎么解决?更新到jruby-1.7.13后,jruby中要求自制的gem失败。问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我使用了 jruby-1.7.0 和测试框架工作 Test::Unit::TestCase.现在我更新了一些让我使用 MiniTest::Test 进行测试的 gem,所以我也升级到了 jruby-1.7.13.我也有一个 rake 任务,它使用 java *.class 文件而不是 ruby​​ *.rb 文件构建我的 gem.现在很多事情不再像'rake test'那样工作了,或者需要来自irb的"my_gem_xyz",得到像加载错误和ArrayIndexOutOfBoudsException这样的错误.我安装了 rvm 来在 rubies 之间切换.

如何在我的自制 gem 中使用 *.class 文件,就像以前在 jruby-1.7.0 下一样?(如果我在 gem 中包含 *.rb 文件,它似乎可以正常工作)

前段时间我尝试使用jruby-1.7.4,但同样失败了(当时我还在使用Test::Unit::TestCase,所以测试框架工作不是问题)

有什么想法吗?

弗兰克

推荐答案

我找到了一个令人惊讶的解决方案.我已经用我的 jruby 1.7.0 版的 jrubyc 编译了 *.rb 类.这导致测试因加载错误而失败.我必须使用 jrubyc 版本 1.7.13 编译所有 ruby​​ 类,并在其中构建 gem.

更新:

<块引用>

'rake test' 仍然无法正常工作,并出现诸如 Mocha::ExpectationError: unexpected invocation: ... 之类的错误.

有效的方法是使用指定测试文件和测试名称(也与 reg.exp.)类似的测试选项

<块引用>

rake test TEST=test/test_bla_bla.rb TESTOPTS="--name=/test_should_read/-v"

我觉得种子参数的随机化会导致问题.如何影响种子参数?

更新:

看起来如果测试套件中有太多测试,MiniTest 无法处理.在某些情况下,我可以使用 TESTOPTS 开关运行大约 10 次测试,最多 35 次.如果我使用"rake test"在我的测试库中运行所有测试,我总是会失败.这对我来说似乎是一个错误.有谁可以帮忙吗?

本文地址:https://www.itbaoku.cn/post/786376.html