Как проверить синтаксис сгенерированного кода Java? - PullRequest
1 голос
/ 13 сентября 2010

Я сделал небольшое приложение для генерации тестовых классов Java на основе определенного набора информации.По сути, я генерирую стандартный код, необходимый для библиотеки, которую мы используем.

Я хотел бы протестировать сгенерированный код лучше, чем просто сравнивать вывод с ожидаемой строкой.

  • Есть ли возможность проверить наличие ошибок в коде Java?
  • Есть ли возможность определить, будет ли компилироваться файл Java?
  • Есть ли стратегия, которую я должен использовать для такой ситуации (я думал об использовании класса Class для получения информации окласс)?

Ответы [ 2 ]

3 голосов
/ 13 сентября 2010
  • Есть ли возможность проверить, содержит ли код Java ошибки?

Да - компилятор Java.

  • Есть ли возможность определить, будет ли компилироваться файл Java?

Да - компилятор Java.

  • Существует ли стратегия, котораяЯ должен использовать для такой ситуации?

Да - скомпилировать файл.

Обратите внимание, что вы можете вызывать компилятор Java во время выполнения, либо используя Runtime.exec (...) или в рамках текущей JVM.Вот достойная страница о , вызывающей javax.tools динамически в текущей JVM.


Я думал об использовании класса Class для получения информации о классе.

Это не поможет.Класс Class относится только к классам, которые были успешно скомпилированы и успешно загружены JVM.И даже тогда он не сообщает вам, были ли синтаксические (или другие) ошибки в исходном коде.

2 голосов
/ 13 сентября 2010

Java 6 представила API компилятора.Это может быть использовано для компиляции кода Java без вызова внешнего компилятора.Вот краткое введение .

...