我目前正在測試使用jdk-9 + 149將Java 8應用程序遷移到Java 9/Jigsaw。我應該在將Java 8項目遷移到拼圖時將單元測試放在哪裏?
該項目已在標準的Maven目錄結構進行佈局,即具有src/main/java
,src/test/java
等
只要我添加module-info.java
到src/main/java
,Maven的編譯器插件無法拋出一個NullPointerException。這是因爲它預計也會找到test
目錄的模塊信息。所以,據我所見,選項有:
- 將測試類保存在一個單獨的模塊中,這意味着它們只能訪問主模塊的導出包。
- 將測試類與源代碼一起移動到主模塊中,這意味着主模塊需要測試依賴關係。
很顯然,這兩個選項都不可取,所以我假設在Maven項目中測試Jigsaw模塊是一種推薦的方法。非常,我找不到任何建議和例子。
編輯:並稱,張貼問題時(對不起)我不認爲相關的一些信息
- the NullPointerException I ran into
- 的Maven 3.3.9
- Maven的編譯器插件3.6.0
- 源和目標配置:9
你在maven-compiler插件中指定了哪些源和目標作爲配置?也請分享NPE的堆棧跟蹤,以清除所面臨的錯誤。 – nullpointer
對不起,添加了一些更多的信息。但基本上,NPE只是導致我面臨實際問題的症狀,我將如何處理一般的測試。 – peterp