2011-12-08 22 views
1

我需要爲現有的Java REST服務器編寫單元測試。Maven:生成單元測試的實用程序

GET方法非常相似,我想我可以編寫一個小型單元測試生成器,它將使用反射來反省它們消耗的GET方法和POJO以生成(樣板)單元測試。

每個測試都將生成一個小的語法錯誤,以便它們不能按原樣運行,但必須由開發人員檢查並糾正語法錯誤。我希望這至少可以確保測試是正常的,看起來合理。

發電機將在命令行中運行,傳遞類下的測試,輸出目錄的單元測試等

我不想類文件的生成是添加到WAR文件中,但生成器需要訪問REST服務器的類文件。

我的項目目錄是一個「標準」的Maven層次:項目/ src目錄/主/ JAVA,項目/目標等

哪裏是把生成的源代碼的最佳地點?在project/src/main/java下面?在project/src/generator/java下?別的地方?

我知道如何將生成的類文件從WAR文件中排除,如果它們都包含在特定的軟件包下(例如com.example.unit_test_generator)。

回答

1

這種情況聽起來像一個maven插件給我。此外,生成代碼的通常位置在目標/生成...下,這意味着目標文件夾...看看maven-antlr3-plugin或maven-jaxb-plugin,看看他們通常把生成的代碼放在哪裏。永遠不要把生成的代碼放到src/structure中......但是可能你必須改變位置並把它放到project/src/main/...但是如果這些類是某種測試的話,它們必須位於項目/改爲src/test。

+0

「不要將生成的代碼放入src/structure」 - 這實際上是僞生成的源代碼。這並不意味着每次構建都會重新生成,但只有在創建新的GET資源時纔會重新生成一次。這就是爲什麼我使用命令行來運行生成器。 – Ralph

+0

啊好吧......不同的故事。感謝您的解釋。 – khmarbaise