Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单元测试退出应用程序的Java构造函数_Java_Unit Testing_Junit - Fatal编程技术网

单元测试退出应用程序的Java构造函数

单元测试退出应用程序的Java构造函数,java,unit-testing,junit,Java,Unit Testing,Junit,复制: 我在为通过调用system.exit()退出应用程序的方法设计单元测试时遇到了一些问题。实际上,这是一个类的构造函数,它测试一些条件并决定退出应用程序。所以我想测试一下这种特殊的可能性 是否有我可以使用的特定断言或任何其他建议 public MyClass(arg1, arg2, arg3){ if(argsTestingIsOK){ continue; }else{ System.exit(0); } } 不要在

复制


我在为通过调用
system.exit()
退出应用程序的方法设计单元测试时遇到了一些问题。实际上,这是一个类的构造函数,它测试一些条件并决定退出应用程序。所以我想测试一下这种特殊的可能性

是否有我可以使用的特定断言或任何其他建议

public MyClass(arg1, arg2, arg3){
    if(argsTestingIsOK){
        continue;       
    }else{
        System.exit(0);
    }
}

不要在构造函数中执行此操作。这是一个坏主意,对任何使用你的代码的人都是误导


<>最好的做法是在main方法中或在应用程序的入口点中使用Soo.EXIT(),而不是在对象构造代码的中间。

< P>而不是在构造函数中的<代码>()>代码> -ing,抛开一个(因为这就是真正发生的)并将其留给调用方处理异常。可以编写应用程序代码来处理异常,而JUnit测试可以断言异常发生。

谢谢Mike,实际上这是一个很好的建议!我现在就试试!