java - 测试 java 程序是否调用 System.exist - 不退出 Junit
问题描述
我正在尝试使用 Junit 测试文件处理程序。在某些情况下,程序应该打印一个错误并完成它的运行。但是,使用“System.exit(-1)”会导致程序退出整个 Junit 测试。有什么办法可以避免吗?
我可以改为打印错误,然后return null
,但是我觉得它很不雅。
private List<String> parseData(String[] args){
if (args.length != 2){
System.err.println(ERROR + INPUT_ERROR + "\n");
System.exit(EXIT_CODE);
有没有办法检查程序是否名为“System.exit”而不关闭它?谢谢你。
解决方案
我认为使用 System.exit 来验证输入参数更不优雅。为什么不直接抛出一个异常,让这个方法的调用者来处理呢?
推荐阅读
- javascript - Django:如何使 React 和导出/导入在单个 JS 静态文件中工作?
- javascript - 如何在 React App 完成加载之前显示整页加载器/微调器
- matlab - Matlab更快的rcnn多个类和属性
- python - Marching_cubes_lewiner() 的输入格式?
- javascript - IE 浏览器不支持 Math.trunc()
- html - How can you use a background image that does not cover form fields?
- c# - 在 Visual Studio 中反序列化 JSON 文件时出错
- flutter - Http从不同列表中获取查询参数
- unity3d - Unity,尝试在 3d 等距游戏中射击时出错
- android-studio - 为什么在 Android Studio 3.6 中会出现这种奇怪的编译器行为?