junit5-system-exit:基于 JUnit 5 的系统退出测试扩展项目

用户可用于测试调用 System.exit() 的代码。该项目提供 @ExpectSystemExit、@ExpectSystemExitWithStatus 和 @FailOnSystemExit 注解,支持验证程序退出行为,可作用于方法、类或作为元注解使用。【此简介由AI生成】

Branch1Tags1

JUnit5 System.exit() 扩展

这个 JUnit 5 扩展 可以帮助你测试调用了 System.exit() 的代码。从 JUnit 5 开始,@Rules、@ClassRules 和 Runners 被扩展(Extension)的概念取代。

安装

将以下内容复制到你的 build.gradlebuild.xml 中。

Gradle

testImplementation("com.ginsberg:junit5-system-exit:1.1.2")

Maven

<dependency>
    <groupId>com.ginsberg</groupId>
    <artifactId>junit5-system-exit</artifactId>
    <version>1.1.2</version>
    <scope>test</scope>
</dependency>

使用场景

测试预期会调用 System.exit() 的情况,且接受任何状态码:

public class MyTestCases { 
    
    @Test
    @ExpectSystemExit
    public void thatSystemExitIsCalled() {
        System.exit(1);
    }
}

一个期望调用 System.exit(1) 并检查特定状态码的测试:

public class MyTestCases {
    
    @Test
    @ExpectSystemExitWithStatus(1)
    public void thatSystemExitIsCalled() {
        System.exit(1);
    }
}

一项不应预期调用 System.exit(1) 的测试,若发生则判定测试失败:

public class MyTestCases {
    
    @Test
    @FailOnSystemExit
    public void thisTestWillFail() {
        System.exit(1);
    }
}

@ExpectSystemExit@ExpectSystemExitWithStatus@FailOnSystemExit 注解可应用于方法、类或其他注解(作为元注解使用)。

贡献与问题反馈

欢迎提交功能需求或错误报告。若有意贡献新功能,请先与我联系!

版权所有 © 2021 Todd Ginsberg

Introduction

用户可用于测试调用 System.exit() 的代码。该项目提供 @ExpectSystemExit、@ExpectSystemExitWithStatus 和 @FailOnSystemExit 注解,支持验证程序退出行为,可作用于方法、类或作为元注解使用。【此简介由AI生成】

Customize my domain