Возможно ли отменить определение Java-класса с помощью JRuby? - PullRequest
2 голосов
/ 05 марта 2011

У меня есть некоторый ruby-код, который зависит от java-библиотеки, но я хочу, чтобы ruby-код корректно завершался ошибкой, если определенный класс java недоступен.

Поэтому я бы хотел, чтобы один из моих модульных тестовсмоделируйте эту ситуацию, чтобы утвердить «изящный провал».Но я хочу, чтобы он был удален только на время этого теста, так как другие тесты будут зависеть от него.

Так можно ли определить, например, org.foo.SomeRandomJavaClass, используя JRuby?

Ответы [ 2 ]

0 голосов
/ 17 марта 2011

Имена классов - Java или другие являются константами в JRuby. Kernel.remove_const и Object.remove_const являются частными методами. Вероятно, есть лучший способ достичь того, чего вы хотите, чем отмена классов ...

0 голосов
/ 05 марта 2011

Вы можете посмотреть на создание пользовательского ClassLoader и переопределение соответствующих методов для выдачи ClassNotFoundException, если загружается org.foo.SomeRandomJavaClass.В частности, обратите внимание на переопределение всех методов find.. и load....

...