java - 对退出应用程序的 Java 构造函数进行单元测试

标签 java unit-testing junit

重复: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/

相关文章:

java - 我们如何去除 libGDX 中的背面纹理?

php - 流明/Laravel : Can't figure out how unittesting a json response works

android - 模拟 Android AssetManager

java - 单元测试必须位于同一个包中?

unit-testing - 为什么在 JMock 中使用 .proxy()?

junit - 如何将 xUnit 和 jUnit 测试结果发布到 gitlab

java - 如何在没有引用的情况下找到类的单例对象?

java - 如何在Java中获取您所在时区的当前时间

java - JUnit 如何测试 ParseException

java - 除了专有的 Sun 实现之外,还有其他好的 CachedRowSet 实现吗?