用户可用于测试调用 System.exit() 的代码。该项目提供 @ExpectSystemExit、@ExpectSystemExitWithStatus 和 @FailOnSystemExit 注解,支持验证程序退出行为,可作用于方法、类或作为元注解使用。【此简介由AI生成】
Translated by AI, submit an issue feedback
JUnit5 System.exit() 扩展
这个 JUnit 5 扩展 可以帮助你测试调用了 System.exit() 的代码。从 JUnit 5 开始,@Rules、@ClassRules 和 Runners 被扩展(Extension)的概念取代。
安装
将以下内容复制到你的 build.gradle 或 build.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