繁体   English   中英

测试在另一个测试中生成的Java代码

[英]testing Java code generated during another test

我想在我的模型上构建一个“ toJavaCode()”,该模型将生成生成该模型所需的Java源代码(不要介意原因,是否应该这样做或不应该发生兼容性问题)。

我不知如何测试。 我正在使用Maven,但由于我的服务器需要进行适当的批量测试,因此生成源实际上对我而言不起作用。 我确实在“测试”目标期间启动了服务器,但是generate-sources还为时过早。

另一方面,虽然我可以使用内置的编译器(来自JDK的tools.jar)来执行此操作,但我不知道如何将其打包到jar中进行测试(或加载该jar)。

有任何想法吗?

您可以使用JavaCompiler API编译源文件,并设置类加载器以在测试中加载已编译的类( 示例代码 )。 tools.jar必须在类路径上。 如果使用JDK,就是这种情况。

如果生成的代码对于任何给定的类都是稳定的,则可以使用注释处理器来生成源代码,并在与带注释的类相同的javac中对其进行编译。

您可以将ant任务添加到您的maven中。 这是在Maven构建过程中“乱序”的一种方法。 就像将javac ant任务添加到Maven测试目标左右。

(对不起,我和您的评论者马特b一样困惑-但其中嵌入的蚂蚁任务是您的瑞士军刀。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM