是否可以使用JRuby取消定义Java类?

时间:2011-03-05 16:44:56

标签: unit-testing jruby

我有一些依赖于java库的ruby代码,但是如果特定的java类不可用,我希望ruby代码正常失败。

所以我希望我的一个单元测试能够模拟这种情况,以便断言“优雅的失败”。但我只想在测试期间删除它,因为其他测试将取决于它。

那么可以使用JRuby取消定义org.foo.SomeRandomJavaClass吗?

2 个答案:

答案 0 :(得分:0)

如果正在加载ClassNotFoundException,您可以考虑创建自定义ClassLoader并覆盖适当的方法以抛出org.foo.SomeRandomJavaClass。具体来说,请查看覆盖所有find..load...方法。

答案 1 :(得分:0)

类名--Java或其他是JRuby中的常量。 Kernel.remove_constObject.remove_const都是私有方法。可能有更好的方法来实现你想要的东西而不是取消定义的课程......