【问题标题】:Junit5 Tag Annotation together with Quarkus QuarkusTestResource AnnotationJunit5 Tag Annotation 与 Quarkus QuarkusTestResource Annotation
【发布时间】:2021-07-03 15:01:05
【问题描述】:

QuarkusTestResource 如何与 Tag Annotation 结合使用?

示例测试例程

import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.junit.QuarkusTest;

@QuarkusTest
@Tag("integration")
@QuarkusTestResource(DatabaseResource.class)
public class MyTest {

    @Test
    public void () {
        doTests...
    }

}

Maven 片段:

    <quarkus-plugin.version>1.12.1.Final</quarkus-plugin.version>
    <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
    <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    <quarkus.platform.version>1.12.1.Final</quarkus.platform.version>
    <surefire-plugin.version>2.22.1</surefire-plugin.version>
    <testscope>unit</testscope>
...
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
        <configuration>
          <groups>${testscope}</groups>
          <systemPropertyVariables>
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
            <maven.home>${maven.home}</maven.home>
          </systemPropertyVariables>
        </configuration>
      </plugin>
...

Maven 命令:

./mvnw clean test

结果:QuarkusTestResource 被启动,即使没有 QuarkusTest 被注释为“unit”,所以 Quarkus 似乎不知道 Tag Annotation?

【问题讨论】:

    标签: java integration-testing junit5 quarkus maven-surefire-plugin


    【解决方案1】:

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

    为防止这种情况,请尝试使用注释您的类

    @QuarkusTestResource(restrictToAnnotatedClass = true)
    

    来自Quarkus' website

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

    【讨论】:

      【解决方案2】:

      您要查找的可能是QuarkusTestProfiletags 方法。请参阅this 部分文档

      【讨论】:

        猜你喜欢
        • 2022-01-26
        • 2023-03-13
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        相关资源
        最近更新 更多