我正在将JUnit 5与Java结合使用来编写集成测试。其中一些连接到数据库,而我正在寻找两种方法:
用于带有特定注释的测试。
到目前为止,我发现使用标签可以执行以下操作:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.jupiter.api.Tag;
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Tag("database")
public @interface Database {}
,然后将@Database
批注用于filter annotated tests out。
现在,我正在寻找一种解决方案,以为所有使用此注释注释的测试建立一个测试设置。会是什么?
答案 0 :(得分:2)
该解决方案需要两个步骤:
MyDatabaseSetup
完成必要的设置/拆卸工作@ExtendWith(MyDatabaseSetup.class)
添加到您的数据库注释中现在,每个用@Database
注释的类或测试方法也将使用扩展名。