Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Junit5标记注释与Quarkus QuarkUstSource注释一起_Java_Integration Testing_Junit5_Quarkus_Maven Surefire Plugin - Fatal编程技术网

Java Junit5标记注释与Quarkus QuarkUstSource注释一起

Java Junit5标记注释与Quarkus QuarkUstSource注释一起,java,integration-testing,junit5,quarkus,maven-surefire-plugin,Java,Integration Testing,Junit5,Quarkus,Maven Surefire Plugin,QuarkSource如何与标记注释结合使用 示例测试例程 import org.junit.jupiter.api.Tag; 导入org.junit.jupiter.api.Test; 导入io.quarkus.test.common.QuarkUstResource; 导入io.quarkus.test.junit.QuarkusTest; @夸克斯特 @标签(“集成”) @QuarkusTestResource(DatabaseResource.class) 公共类MyTest{ @试验

QuarkSource如何与标记注释结合使用

示例测试例程

import org.junit.jupiter.api.Tag;
导入org.junit.jupiter.api.Test;
导入io.quarkus.test.common.QuarkUstResource;
导入io.quarkus.test.junit.QuarkusTest;
@夸克斯特
@标签(“集成”)
@QuarkusTestResource(DatabaseResource.class)
公共类MyTest{
@试验
公共空间(){
宠儿们。。。
}
}
Maven代码段:

1.12.1.Final
夸克宇宙物质清单
夸克斯
1.12.1.最终版本
2.22.1
单元
...
maven surefire插件
${surefire plugin.version}
${testscope}
org.jboss.logmanager.logmanager
${maven.home}
...
Maven命令:

./mvnw clean test

结果:即使没有用“单位”注释QuarkUstTest,QuarkUstResource也会启动,因此Quarkus似乎不知道标记注释?

Quarkus测试资源是全局的,这意味着它无论如何都会运行,即使您的类用不应该运行的标记注释

要防止出现这种情况,请尝试使用

@QuarkusTestResource(restrictToAnnotatedClass = true)

测试资源是全局的,即使它们是在测试类或自定义概要文件上定义的,这意味着它们都将为所有测试激活,即使我们确实删除了重复项如果您只想在单个测试类或测试配置文件上启用测试资源,可以使用@QuarkusTestResource(restrictToAnnotatedClass=true)。


您正在寻找的可能是
QuarkusTestProfile
标记方法。请参阅部分文档