我編寫了一個Java獨立應用程序,它接受輸入命令行參數。如何使用JUnit測試用例進行測試?爲需要命令行輸入的Java獨立執行JUnit測試用例
2
A
回答
3
只需從JUnit調用您的main()
方法即可。但是,由於main()
不返回任何內容,因此不能輕鬆寫出任何斷言(您必須依賴副作用)。
因此,爲了簡化測試的可維護性,請使用從實際邏輯中分析參數的main()
方法。單獨使用模擬邏輯測試main()
來分別測試參數解析和業務邏輯測試。您的業務邏輯將具有定義良好的強類型接口,使測試和理解變得更加容易。
此步驟還會減少耦合並提高可讀性。
+0
在類似的行上,我能夠通過參數實現Standalone java上的JUnit測試。我創建了模擬主要方法。在我的情況下,它會執行System.exit(帶有狀態碼)並返回正確參數的文本。因此,Junit無法讀取此結果,但我監視日誌輸出/控制檯。 – Hussain 2012-07-24 21:06:28
相關問題
- 1. 使用ProcessBuilder執行需要命令行輸入的命令
- 2. JUnit命令行測試
- 3. 如何通過命令行作爲JUnit測試運行java類
- 4. crontab和測試要執行的命令
- 5. 如何從命令行在JUnit中運行測試用例?
- 6. 在Eclipse中執行JUnit測試之前運行外部命令
- 7. 使用JUnit測試執行
- 8. JUnit測試獨立路由
- 9. 使用獨立命令行界面與Jasmine一起測試angularjs
- 10. Java命令行輸入
- 11. 如何讓JUnit測試用例並行執行?
- 12. java在執行命令之前需要運行兩次
- 13. 執行與「命令」使用Java,Linux的shell命令,而無需輸入密碼要求
- 14. 用RSpec測試輸出到命令行
- 15. JUnit測試用例需要測試目錄
- 16. 傳遞命令行參數的JUnit測試案例被編程方式運行
- 17. 如何從命令行界面執行cucumber java測試
- 18. 從命令行運行war包中的junit測試
- 19. 獨立執行
- 20. Java的JUnit測試案例
- 21. JUnit + Maven +並行測試執行錯誤
- 22. java命令行執行
- 23. 如何從命令行傳遞輸入到junit maven測試程序
- 24. 在我的Junit測試用例driver.findElement(By.cssSelector)中未執行
- 25. 運行Junit測試用例時OutofMemoryError
- 26. 同時運行JUnit測試用例
- 27. Zsh獨立於成功執行兩行連續執行兩條命令
- 28. 如何從命令行在框中運行JUnit測試?
- 29. 從命令行運行JUnit測試時出錯
- 30. 使用ssh執行自動執行用戶登錄的輸入執行命令
與其他任何方式相同,但除非您正在測試參數傳遞,否則您應該測試實際邏輯,例如應用程序中的方法。如果參數編組被正確隔離,那麼也可以進行測試。否則,您可以像使用其他靜態方法一樣調用main參數。 – 2012-07-16 17:07:29