我使用了 jruby-1.7.0 和测试框架 Test::Unit::TestCase。现在我更新了一些gems,导致我使用MiniTest::Test进行测试,所以我也升级到了jruby-1.7.13。我也有一个 rake 任务,它使用 java *.class 文件而不是 ruby *.rb 文件构建我的 gems。现在,许多事情不再像“rake test”那样工作,或者需要来自 irb 的“my_gem_xyz”,从而出现加载错误和 ArrayIndexOutOfBoudsException 等错误。我安装了rvm来在红宝石之间切换。
如何在我自制的 gems 中使用 *.class 文件,就像之前在 jruby-1.7.0 下一样? (如果我在 gem 中包含 *.rb 文件,它似乎可以正常工作)
前段时间我尝试使用jruby-1.7.4,但也因类似原因失败(当时我仍然使用Test::Unit::TestCase,所以测试框架工作不是问题)
有任何想法吗?
Frank
我发现了一个令人惊讶的问题解决方案。我用 jruby 版本 1.7.0 的 jrubyc 编译了 *.rb 类。这导致测试因加载错误而失败。我必须使用 jrubyc 版本 1.7.13 编译所有 ruby 类,同时我还构建了 gem。
update:
“rake test”仍然无法正常工作,会出现诸如 Mocha::ExpectationError: 意外调用: ... 之类的错误
有效的方法是使用指定文本文件和测试名称的测试选项(也使用正则表达式)。
耙子测试 TEST=test/test_bla_bla.rb TESTOPTS="--name=/test_should_read/ -v"
我感觉种子参数的随机化导致了问题。如何影响种子参数?
update:
看起来如果测试套件中有太多测试,MiniTest 无法处理这个问题。在某些情况下,我可以使用 TESTOPTS 开关运行大约 10 个测试,有时最多可运行 35 个测试。如果我使用“rake test”运行测试库中的所有测试,我总是会失败。这对我来说看起来像是一个错误。有人可以帮忙吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)