簡體   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