2010-05-11 64 views
14

巨大的項目噸和類別和目錄。單元測試目錄結構

我是否讓我的單元測試項目鏡像這些目錄,還是將它們全部放在根目錄下?

有點煩人不得不做兩次目錄更改和類名更改。

+0

這將有助於您將您工作的語言添加到標記中。 – Jherico 2010-05-11 18:56:37

+2

爲什麼不直接在你的項目目錄中放置單元測試? – Stephen 2010-05-11 18:58:39

回答

17

你一定希望你的單元測試目錄能夠鏡像被測代碼的目錄。手動設置是一個輕微的痛苦,但是這種痛苦不會持續幾乎所有測試的痛苦,或者更糟糕的是,它們在某種程度上與被測代碼不同。

很明顯,你沒有使用Java,或者你的測試代碼已經和被測代碼具有相同的包結構,這個問題就沒有實際意義了。 (至少無法想象做任何其他方式。)

+1

借調。任何像樣的IDE都會使重構目錄和名稱變得容易。 – Jherico 2010-05-11 18:57:19

+2

根據語言的不同,我會把更多的精力放在packages/modules/namespaces而不是目錄上。 – 2010-05-11 22:30:44

+0

@ Gabriel:我同意。我想這樣做,但@zachary沒有指定一種語言。 – 2010-05-11 22:39:06

5

我喜歡在項目目錄中進行單元測試,以保持它們在物理上接近他們支持的代碼。包含位於該組件/軟件包目錄中的某個組件/軟件包的單元測試的目錄,位於特定的test目錄中,與src目錄處於同一級別。這就是我爲C/C++項目FWIW所做的。主要原因是能夠同時編譯組件和它的單元測試,以使單元測試可見(我們的傳統組件不都是單元測試)。

這樣,對目錄結構所做的每一項更改都不會對測試目錄結構產生任何影響,因爲單元測試與生產代碼一起移動。擁有兩個並行的目錄結構對我來說是一種重複的形式。