重复:Java: How to test methods that call System.exit()?
<小时/>我在为通过调用 system.exit()
退出应用程序的方法设计单元测试时遇到了一些麻烦。实际上,这是一个类的构造函数,它测试一些条件并决定退出应用程序。所以我想测试的是这种特殊的可能性。
是否有我可以使用的特定断言,或任何其他建议?
public MyClass(arg1, arg2, arg3){
if(argsTestingIsOK){
continue;
}else{
System.exit(0);
}
}
最佳答案
不要在构造函数中使用 exit()
-ing,而是抛出 IllegalArgumentException相反(因为这就是真正发生的事情)并将其留给调用者来处理异常。可以编写应用程序代码来处理异常,而 JUnit 测试可以断言异常发生。
关于java - 对退出应用程序的 Java 构造函数进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200409/