后端——框架——测试框架——junit——扩展功能


  本篇包含两个部分。

第一部分,介绍如何注册扩展。

第二部分,介绍剩余的扩展功能,它们的使用频率通常较低。

1、注册

注册Extension的方式有三种,

第一种,使用@ExtendWith注解,或者是自定义的,包含@ExtendWith的复合注解。

第二种,使用@RegisterExtension注解,它是添加在测试类的属性上的,静态属性和非静态属性的区别在于运行的时机。

第三种,开启Junit自动扫描Extension的功能,首先开启自动扫描的功能,具体做法,配置junit.jupiter.extensions.autodetection.enabled的值为true。开启后,会扫描/META-INF/services下的org.junit.jupiter.api.extension.Extension文件,文件的内容为扩展类的全称(包名 + 类名)。

第一种方式频率较高。例如官网中注入TimingExtension,计算测试方法的运行时间。

@ExtendWith(TimingExtension.class)
public interface TimeExcuitionLogger {
}

2、TestInstanceFactory

  TestInstanceFactory用来创建测试类的实例对象。它只有一个方法createTestInstance,使用频率低,略。

3、TempDirectory

  TempDirectory用于创建临时的文件或目录,Junit提供了默认的实现。可以在方法上添加@TempDir注解。

相关