2015-02-10 108 views
2

在Java中,源代碼包和測試包之間有什麼區別?給定一個包含幾個Java類文件和manifest.mf文件的Java項目......如何識別一個類是屬於源包還是測試包?創建它們的意義是什麼?源碼包和測試包之間有什麼區別?

+0

Java本身沒有這樣的源碼包和測試包的概念。您可能指的是構建工具(如Apache Maven)所採用的_conventions_。 – 2015-02-10 04:10:10

+0

我發現Netbeans在從現有源文件中創建Java項目時所作的區分。我無法理解它。 – giffy 2015-02-10 04:16:26

+0

@giffy Netbeans(與其他IDE一樣)有很多快捷方式與知道你在哪裏放置源代碼和測試相關聯。例如,創建或運行當前課程的測試很容易。如果你堅持慣例,它將使這些工具更容易使用。 – sprinter 2015-02-10 04:35:56

回答

0

源包包含您的Java類,接口,枚舉和註釋類型文件。也就是說,任何帶有.java擴展名的東西。這個包包含你的應用程序邏輯。

測試包中包含您的Java測試類文件。這些包通常包含您的JUnit測試類文件。

請注意,Java語言規範不要求將Java源文件和其他文件組織到源包和測試包中。這純粹是大多數開發人員遵循的慣例,並且正如Maven等流行構建工具的評論中所述。

創建它們的意義在於爲Java項目提供某種組織。想象一下,您有數百個Java類文件:一些用於您的主要業務邏輯,另一些用於測試等,並將它們全部放在一個目錄中。你的應用程序仍然可以編譯,但是如果你必須在該目錄中找到一些代碼,至少可以說是乏味的。在主要的Java項目中,通常有數千個Java文件。如果沒有這些文件的組織,開發人員的生產力將受到嚴重阻礙。

+1

另一個重要的原因是測試類不會被編譯到最終的jar或war artefact中。主「src」目錄中的類對測試類(甚至大多數情況下甚至是測試框架)都沒有可見性,但測試類可以看到主類。 – slipperyseal 2015-02-10 04:44:04

相關問題