首页 > 解决方案 > 测试 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”而不关闭它?谢谢你。

标签: javajunitexit-codesystem.exit

解决方案


我认为使用 System.exit 来验证输入参数更不优雅。为什么不直接抛出一个异常,让这个方法的调用者来处理呢?


推荐阅读