JUnit监控case运行状态——TestWatcher

本文介绍了如何在JUnit 4.10中利用TestWatcher更精确地监控测试用例的运行状态。通过创建一个基类Father,定义TestName对象记录用例名称,并实现TestWatcher的四个关键方法:starting、succeeded、failed、finished,以控制在用例执行的不同阶段执行特定操作。Father类还包含一个抽象方法sonAfter,用于在用例完成后根据执行结果进行不同处理,避免了@After注解的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JUnit 4.10中,除了@Before、@After这些标注可以在case运行前后分别执行之外,还有一种方式对于监控case运行状态更为精确——TestWatcher,看下面的例子:

父类:

package cskgnt.test;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.rules.TestName;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;

public abstract class Father {

	protected String caseIdentifier = "";
	protected abstract void sonAfter();
	
	@Rule
	public TestName name = new TestName();
	
	@BeforeClass
	public static void fatherBeforeClass() {
		System.out.println("Father: beforeClass");
	}
	
	@AfterClass
	public static void fatherAfterClass() {
		System.out.println("Father: afterClass");
	}
	
	@Before
	public void fatherBefore() {
		System.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值