Java Character IO между выполнениями Java - PullRequest
0 голосов
/ 12 ноября 2011

Используя javax.tools.JavaCompiler и javax.tools.ToolProvider, я обертываю строку ввода пользователя (которая должна быть методом) с предопределенным классом внутри большой строки и выполняю ее в моем коде. Есть ли способ (в том же коде) создать экземпляр класса, который был скомпилирован (поскольку он не существует до времени выполнения), чтобы протестировать указанную функцию с предопределенным набором случаев?

Пример: пользователю предлагается написать метод, который возвращает противоположное логическое значение, отправленное ему в качестве аргумента.

Пользователь вводит в указанном методе.

Я обертываю обобщенный класс вокруг метода и использую предопределенный набор тестовых случаев (true, false) для проверки его функциональности (должен получить false, true обратно)

1 Ответ

1 голос
/ 12 ноября 2011

Возможно, читая сгенерированный класс в byte[] и используя Classloader.defineClass (..) для разрешения / создания объекта Class. Для правильного разрешения класса все ресурсы, на которые ссылается этот класс, должны быть доступны экземпляру загрузчика классов, который вы используете. Если у вас есть объект Class, вы можете создать его экземпляр и вызвать метод, используя reflections .

...