티스토리 뷰
반응형
JUnit 5 : 태깅과 필터링
각 테스트 그룹을 만들고, 원하는 테스트 그룹만 테스트를 진행할 수 있는 기능이다.
여러 조건으로 우리가 원하는 태그를 붙여 해당 태그를 지정하여 테스트를 진행할 수 있는 것이다.
@Tag
- 테스트 메소드에 태그를 추가할 수 있다.
- 하나의 테스트 메소드에 여러 태그를 사용할 수 있다.
소스로 확인해보자
Fast 태그와 slow 태그를 사용하여 용도에 맞게 테스트를 진행해보자
즉, 실행결과가 빠르게 나타나는 테스트를 fast, 실행결과가 느리게 나타나는 테스트는 slow로 가정하자
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
public class TagTest {
@Test
@DisplayName("스터디 만들기 fast")
@Tag("fast")
void create_new_study() {
Study actual = new Study(100);
assertThat(actual.getLimit()).isGreaterThan(0);
}
@Test
@DisplayName("스터디 만들기 slow")
@Tag("slow")
void create_new_study_again() {
Study actual = new Study(100);
assertThat(actual.getLimit()).isGreaterThan(0);
}
}
테스트를 진행할 때 우리가 지정한 태그만 테스트를 진행해보자
인텔리제이에서 Edit configuration에서 Test Kind를 Tags로 변경해주고, Tag expression을 우리가 설정한 태그 이름으로 입력하면 원하는 태그만 테스트가 가능하다.
터미널에서 빌드해보자
./mvnw test
해당 패키지(test)에 있는 모든 테스트를 진행할 수 있다.
이제 각 서버에서 사용할 태그를 지정하여 터미널에서 빌드해보자
여기서 중요한 점은, pom.xml에 profiles를 추가해야한다.
1. <groups>에 fast | slow를 입력
2. 입력 후 다시 터미널에서 빌드를 진행하면 사용자가 입력한 태그로 테스트가 진행될 것이다.
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<groups>fast</groups>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
반응형
'Test > JUnit' 카테고리의 다른 글
[JUnit5] 테스트 반복하기 (0) | 2020.02.18 |
---|---|
[JUnit5] 커스텀 태그 (0) | 2020.02.18 |
[JUnit5] 조건에 따라 테스트 실행하기 (0) | 2020.01.12 |
[JUnit5] Assertion (0) | 2020.01.05 |
[JUnit5] 테스트 이름 표기하기 (0) | 2020.01.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 팩토리 메소드 패턴
- Effective Java
- 자바8
- java8
- 스프링부트
- junit
- 생성자
- 인프런
- 이펙티브 자바
- springboot
- JPA
- 복사 팩토리
- package-private
- try catch finally
- jdk버전
- java
- ifPresent
- 연관관계
- mustache
- 점층적 생성 패턴
- 정적팩터리메서드
- effectivejava
- 빌더 패턴
- @Lazy
- Spring
- 김영한
- 이펙티브자바
- 빈 순환 참조
- try with resources
- flatMap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함