2012-07-16 77 views
2

我編寫了一個Java獨立應用程序,它接受輸入命令行參數。如何使用JUnit測試用例進行測試?爲需要命令行輸入的Java獨立執行JUnit測試用例

+0

與其他任何方式相同,但除非您正在測試參數傳遞,否則您應該測試實際邏輯,例如應用程序中的方法。如果參數編組被正確隔離,那麼也可以進行測試。否則,您可以像使用其他靜態方法一樣調用main參數。 – 2012-07-16 17:07:29

回答

3

只需從JUnit調用您的main()方法即可。但是,由於main()不返回任何內容,因此不能輕鬆寫出任何斷言(您必須依賴副作用)。

因此,爲了簡化測試的可維護性,請使用從實際邏輯中分析參數的main()方法。單獨使用模擬邏輯測試main()來分別測試參數解析和業務邏輯測試。您的業​​務邏輯將具有定義良好的強類型接口,使測試和理解變得更加容易。

此步驟還會減少耦合並提高可讀性。

+0

在類似的行上,我能夠通過參數實現Standalone java上的JUnit測試。我創建了模擬主要方法。在我的情況下,它會執行System.exit(帶有狀態碼)並返回正確參數的文本。因此,Junit無法讀取此結果,但我監視日誌輸出/控制檯。 – Hussain 2012-07-24 21:06:28