在Java中,源代碼包和測試包之間有什麼區別?給定一個包含幾個Java類文件和manifest.mf文件的Java項目......如何識別一個類是屬於源包還是測試包?創建它們的意義是什麼?源碼包和測試包之間有什麼區別?
2
A
回答
0
源包包含您的Java類,接口,枚舉和註釋類型文件。也就是說,任何帶有.java擴展名的東西。這個包包含你的應用程序邏輯。
測試包中包含您的Java測試類文件。這些包通常包含您的JUnit測試類文件。
請注意,Java語言規範不要求將Java源文件和其他文件組織到源包和測試包中。這純粹是大多數開發人員遵循的慣例,並且正如Maven等流行構建工具的評論中所述。
創建它們的意義在於爲Java項目提供某種組織。想象一下,您有數百個Java類文件:一些用於您的主要業務邏輯,另一些用於測試等,並將它們全部放在一個目錄中。你的應用程序仍然可以編譯,但是如果你必須在該目錄中找到一些代碼,至少可以說是乏味的。在主要的Java項目中,通常有數千個Java文件。如果沒有這些文件的組織,開發人員的生產力將受到嚴重阻礙。
+1
另一個重要的原因是測試類不會被編譯到最終的jar或war artefact中。主「src」目錄中的類對測試類(甚至大多數情況下甚至是測試框架)都沒有可見性,但測試類可以看到主類。 – slipperyseal 2015-02-10 04:44:04
相關問題
- 1. JAR和包之間有什麼區別?
- 2. 構建路徑和源代碼包有什麼區別?
- 3. 測試和包含在Webpack 2中有什麼區別?
- 4. yarn.lock和npm的包裝鎖之間有什麼區別?
- 5. Swift包和模塊之間有什麼區別?
- 6. Hubot包和Hubot腳本之間有什麼區別?
- 7. android.opengl和javax.microedition.khronos.opengles包之間有什麼區別?
- 8. 使用Zend Framework,模塊和包裝之間有什麼區別
- 9. 「數據包」和「交易」之間有什麼區別?
- 10. Linux中的insmod模塊和rpm包之間有什麼區別
- 11. 測試方法和測試標籤inTestng之間有什麼區別
- 12. UI級別測試和API級別測試有什麼區別?
- 13. Docker包和docker-compose有什麼區別?
- 14. 庫和包有什麼區別?
- 15. Java包:`oracle.AQ`和`oracle.jdbc.aq`有什麼區別?
- 16. 「dart:html」和「dart:dom」包有什麼區別?
- 17. dll和nuget包有什麼區別?
- 18. 測試和規格有什麼區別?
- 19. 「層」和「層」之間有什麼區別?
- 20. Tableau和QlikView之間有什麼區別
- 21. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 22. @Entity和@embeddable之間有什麼區別
- 23. ContentObservable和DataSetObservable之間有什麼區別?
- 24. touchmove和gesturechange之間有什麼區別?
- 25. :notification.flags和notification.defaults之間有什麼區別?
- 26. proc和lambda之間有什麼區別?
- 27. :: after和after之間有什麼區別?
- 28. read()和io.read()之間有什麼區別?
- 29. Request()和Request.Form()之間有什麼區別?
- 30. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
Java本身沒有這樣的源碼包和測試包的概念。您可能指的是構建工具(如Apache Maven)所採用的_conventions_。 – 2015-02-10 04:10:10
我發現Netbeans在從現有源文件中創建Java項目時所作的區分。我無法理解它。 – giffy 2015-02-10 04:16:26
@giffy Netbeans(與其他IDE一樣)有很多快捷方式與知道你在哪裏放置源代碼和測試相關聯。例如,創建或運行當前課程的測試很容易。如果你堅持慣例,它將使這些工具更容易使用。 – sprinter 2015-02-10 04:35:56