在 Java 中,我已經看到在不同包中的同一個項目中擁有測試和源代碼的做法。但是現在有人要求我將 Java 源代碼制作為一個不同的項目,并將測試從主項目中取出,并將其作為一個單獨的測試項目,就像在 .net 中一樣,并在項目中提供該源 jar 的引用。請參閱以下是我們遵循的一般做法src>>main>>java>>com>>foo>>Sample.java測試>>main>>java>>com>>foo>>SampleTest.java但是現在有人讓我創建一個項目src>>main>>java>>com>>foo>>Sample.java作為一個項目,然后像 Java 項目一樣進行測試,將上述 jar 引用到您的測試項目中(將該 jar 添加到庫中或將依賴項添加到您的構建文件中)以執行測試用例。測試>>main>>java>>com>>foo>>SampleTest.java您認為這是一個可行的解決方案嗎?我們應該遵循這樣的做法嗎?
1 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
既然您提到了 Java,那么基于 Java 的項目通常會在同一個項目(maven/gradle)中進行 Junit 測試。您的源代碼和測試代碼結構如下所示:
src
│
── main
└── java
└── com
└── foo
│ ├──Sample.java
│
│
└── test
└── java
└── com
└── foo
└── SampleTest.java
在同一個項目中使用 source 和 junit,您將能夠更好地關聯代碼和單元測試。這種方法允許測試訪問被測類的所有公共和封裝可見方法。
這也是標準 maven/gradle 目錄布局的一部分,其中項目相同但文件夾是分開的。
根據需求,一組通用的集成或功能測試可以存在于單獨的項目中。
您還可以參考有關組織測試的Junit FAQ 。
保持簡單,您可以通過將單元測試保留在同一個項目中開始,并在確實需要時考慮將其分離。
添加回答
舉報
0/150
提交
取消