тестирование кода Java, сгенерированного во время другого теста

StackOverflow https://stackoverflow.com/questions/1878846

Вопрос

Я хочу построить «tojavacode ()» на моей модели, которая создала бы необходимый исходный код Java для создания этой модели (не говоря уже о причинах или если это должно быть или не должно быть сделано, или проблемы совместимости, которые могут возникнуть).

Я не могу протестировать это. Я использую Maven, но Generate-Fources на самом деле не сработает для меня, так как мой сервер должен быть готов для правильного, массового тестирования. Я получаю сервер во время цели «тест», но генерируемые источники-это слишком рано.

С другой стороны, хотя я могу использовать встроенный компилятор (от инструментов. Jar в JDK), чтобы сделать это, я не знаю, как я могу упаковать его в банку для тестирования (или загрузить эту банку).

Любые идеи?

Это было полезно?

Решение

Вы можете использовать Javacompiler API для составления исходных файлов и настройки Загрузчик класса Чтобы загрузить скомпилированные классы в вашем тесте (образец кода) Инструменты. Яр должен быть на трассе. Это так, если JDK используется.

Если ваш сгенерированный код стабилен для любого данного класса, который вы можете использовать Аннотационный процессор Чтобы сгенерировать исходный код и составить его в том же Javac Run, что и аннотированный класс.

Другие советы

Вы можете добавить ANT -задачи в свой мавен. Это способ чего-то «вне классического порядка» во время сборки Maven. Например, добавление задачи Ant Javac к тестовой цели Mavens или около того.

(Извините, я так же сбит с толку, как и ваш комментатор Мэтт Б - но встроенные задачи ANT - ваш швейцарский армейский нож здесь.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top