我想了解進口類在測試時JUnit的方式。
我注意到,創建與SRC類的名稱相同,並且在同一封裝的模擬類,會導致測試導入一個,而不是真正的SRC類。
例如:重寫SRC clases與測試類的Java單元測試
src/main/java/MyObject.java
src/main/java/ObjectPrinter.java
src/test/java/MyObject.java
src/test/java/ObjectPrinterTest.java
如果雙方的main/java/MyObject.java
和test/java/MyObject.java
聲明同一個包(這兩個文件開始用相同的package XXX
decleration)。 的ObjectPrinter.java
(這是由在ObjectPrinterTest.java
測試時間稱爲)將具有import XXX.MyObject
decleration。
它是如何在測試時間import XXX.MyObject
將導入test/java/MyObject.java
和'生產'電話將調用src/java/MyObject.java
?
這種目錄建築是否安全?這是常用的嗎?
我在哪裏可以閱讀有關此特定流程的更多信息?
謝謝!
謝謝,正是答案我一直在尋找FOR.A小的後續問題,是在src/test目錄的第一類查找,即使是項目依賴(即,如果myObject的是不是在同一個項目/依賴作爲測試類,但是在並行項目中也有src/MyObject和test/MyObject)。它會始終首先在測試文件夾中查看,然後只能轉到src文件夾,無論距離原始項目有多遠?)。換句話說,單元測試運行總是首先查找src/test,'production'運行總是查找'src/main',而不管它們是否在任何jar /依賴路徑中? – ABR
從任何其他項目都不會看到src/test,因此不會在生產代碼中使用這些類/資源。如果外部項目對您的項目有依賴性,他們也永遠不會被看到。只要你的單元測試位於src/test(它們應該是),它們將始終優先考慮來自src/test的資源。 – Thiefster