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

Unit testing 是否可以使用JRuby取消定义Java类?,unit-testing,jruby,Unit Testing,Jruby,我有一些依赖于java库的ruby代码,但是如果某个特定java类不可用,我希望ruby代码能够正常地失败 因此,我希望我的一个单元测试能够模拟这种情况,从而断言优雅的失败。但我只希望在测试期间删除它,因为其他测试将依赖于它 因此,是否可以使用JRuby取消定义org.foo.SomeRandomJavaClass?如果正在加载org.foo.SomeRandomJavaClass,您可以研究创建自定义并重写相应的方法来抛出ClassNotFoundException。具体来说,请看一下覆盖所有

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

因此,我希望我的一个单元测试能够模拟这种情况,从而断言优雅的失败。但我只希望在测试期间删除它,因为其他测试将依赖于它


因此,是否可以使用JRuby取消定义org.foo.SomeRandomJavaClass?

如果正在加载org.foo.SomeRandomJavaClass,您可以研究创建自定义并重写相应的方法来抛出ClassNotFoundException。具体来说,请看一下覆盖所有查找。。并加载。。。方法。

如果正在加载org.foo.SomeRandomJavaClass,则可以创建一个自定义方法并重写相应的方法来抛出ClassNotFoundException。具体来说,请看一下覆盖所有查找。。并加载。。。方法。

类名-Java或其他名称是JRuby中的常量。Kernel.remove_const和Object.remove_const都是私有方法。可能有比取消定义类更好的方法来实现您想要的功能…

类名-Java或其他名称是JRuby中的常量。Kernel.remove_const和Object.remove_const都是私有方法。可能有比取消定义类更好的方法来实现您想要的…

我不这么认为。好吧,Java编译器可以访问任何类,只要它具有包和类的完全限定名,例如:org.foo.SomeRandomJavaClassI不这么认为。Java编译器可以访问任何类,只要它具有包和类的完全限定名,例如org.foo.SomeRandomJavaClass