2008-10-29 22 views
5

使用main方法來測試java/.net類是一個好習慣嗎?使用類的主要方法進行調試?

我已經看到了它在一些教科書reccommended,但對我來說似乎是使用單元測試框架會更有意義......

主要方法,讓你進入的一個點到類和您可以測試類功能的一個方面。你可以猜測測試很多,但它似乎沒有使用Junit或Nunit那麼有意義。

回答

2

一個明顯的優勢似乎是你可以用白盒測試這個類。也就是說,你可以測試它的內部(例如私有方法)。你不能用單元測試來做到這一點,你也不會那麼做,他們主要是在那裏從用戶的角度來測試界面和行爲。

0

主要的方法可以用於某些情況,但使用調試器,然後編寫單元測試(以提供一些針對迴歸的保險)是一個更強大的解決方案。

+0

當然,你應該在編寫代碼之前編寫你的單元測試......這就是測試驅動開發的全部內容:P – 2008-10-29 14:45:49

1

我認爲開發集成測試可能是有用的,這些集成測試是從一個主要方法調用的 - 比如一個測試運行器 - 測試集成測試套件。我不會這樣做單元測試,因爲單元測試框架提供了一個更好的機制來做到這一點。爲了澄清,我並不是說每個類都有用於集成測試的靜態主要方法,而是可以用一個靜態主要方法編寫一個集成測試程序來運行你的套件集成測試。

0

在Java中它接受有多個主要方法,並利用它們進行測試然而.NET不允許這樣,如果你有相同的程序,你會得到compiler error CS0017兩路市電,並告訴你Compile with /main to specify the type that contains the entry point.

我必須說Java方式對我更有意義。