반응형

태깅

  • 테스트 그룹을 만들고 원하는 테스트 그룹만 테스트를 실행할 수 있는 기능.
  • @Tag 애노테이션을 사용한다.
    • 테스트 메소드에 태그를 추가할 수 있다.
    • 하나의 테스트 메소드에 여러 태그를 사용할 수 있다

태그 사용 설정(IntelliJ)

  • 특정 태그로 테스트 필터링 하는 방법
    • 상단의 테스트부분을 클릭하여 Edit Configurations 를 선택하고 실행할 테스트 태그의 이름을 적어주면 해당 태그의 이름과 일치하는 테스트 메서드들만 실행한다.
       

 

  • 빌드 시, 동작하는 테스트 필터링 하는 방법
    • 빌드 시, 기본적으로 모든 테스트가 수행된다. 빌드하는 경우에도 특정 환경별로 테스트를 수행하도록 할 수 있다.
    • 예) 로컬에서 빌드할 때는 fast 태그가 달린 테스트만 수행하고 CI 환경에서 빌드할 때는 fast 태그, slow 태그가 달린 테스트를 수행하도록 할 수도 있다.
    • pom.xml
      <?xml version="1.0" encoding="UTF-8"?>
      
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
      
        <groupId>me.devhistory</groupId>
        <artifactId>java8-test</artifactId>
        <version>1.0-SNAPSHOT</version>
      
        <name>java8-test</name>
        <url>http://www.example.com</url>
      
        <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.source>11</maven.compiler.source>
          <maven.compiler.target>11</maven.compiler.target>
        </properties>
      
        <dependencies>
          <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.5.2</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      
        <profiles>
          <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
              <plugins>
                <plugin>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.22.2</version>
                  <configuration>
                    <groups>fast</groups>
                  </configuration>
                </plugin>
              </plugins>
            </build>
          </profile>
          <profile>
            <id>ci</id>
            <build>
              <plugins>
                <plugin>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.22.2</version>
                  <configuration>
                    <groups>fast | slow</groups>
                  </configuration>
                </plugin>
              </plugins>
            </build>
          </profile>
        </profiles>
      
      </project>

[참고자료]

더 자바, 애플리케이션을 테스트하는 다양한 방법, 백기선

JUnit 5 User Guide

Introduction to Build Profiles

반응형

+ Recent posts