我编写了一个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