重复: Java:如何测试方法,呼叫系统。exit()?


我有一点麻烦设计一个单元的测试方法,退出应用程序通过调 system.exit().实际上,这是构造的这类测试的一些条件,并决定退出程序。因此,它是这种特殊情况,我会想到测试。

是否有一个特定的断言,我可以使用、或任何其他建议吗?

public MyClass(arg1, arg2, arg3){
    if(argsTestingIsOK){
        continue;       
    }else{
        System.exit(0);
    }
}
有帮助吗?

解决方案

而不是的 exit()-ing在构造,扔一个 IllegalArgumentException 而不是(由于这是什么是真的发生了)并把它叫来处理异常。该应用程序的代码可以被写入过程中的例外,同时JUnit测试可以断言,异常发生。

其他提示

不这样做在一个构造。这是一个糟糕的想法,这是误导任何人使用你的代码。

最好的做法是唯一使用类似系统。exit()中的一个主要的方法或在进入点应用程序绝对不是中间的目建筑的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top