Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- java
- 파라미터 그룹
- RDS
- 자바
- Final
- springboot
- Spring
- Effective Java
- exception
- 피리티어
- spring-security
- 이펙티브자바
- JVM
- Unchecked Exception
- 바이트코드
- Annotation
- try-with-reources
- 자바스터디
- Checked Exception
- AWS
- ec2
- error
- 예외
- https
- bytecode
- 이펙티브 자바
- 생각정리
- 보안 그룹
Archives
- Today
- Total
개발 일지
테스트 코드를 작성하다 보면 똑같은 어노테이션 @Test @DisplayName을 사용하여 테스트 코드를 작성하게 됩니다.
항상 똑같은 구조이기 때문에 뭔가 구조화를 시켜둘 수 있지 않을까 라는 생각이 들어서 찾아봤더니 intellij에서는 Live Temlete 이란 이름으로 제공하고 있었고 자주 사용하는 cout, main 같은 단축어 들도 여기에 정의되어 있다는 걸 알게 되었습니다.
이번 글에서는 Live Temlete을 어떻게 설정하는지에 대해서 정리해 보도록 하겠습니다
Live Temlete 이란
Live Template
- IntelliJ에서 제공해주는 기능
- 반복적으로 사용하는 코드 패턴을 저장해 두고, 간단한 단축어나 텍스트로 자동으로 코드를 생성할 수 있게 해주는 기능
- 이를 통해 반복적인 코딩 작업을 줄이고, 코드의 일관성을 유지할 수 있습니다.
적용하기
상단에 내비게이션 바에서 File > Setting (macOS: Preferences) > Editor > Live Templates으로 들어갑니다.
또는 단축어 Windows: Ctrl+Alt+S
, macOS: Cmd+
를 통해 Setting 창을 열 수 있습니다.

- Live Templetes 목록에서 해당하는 언어를 선택합니다
- 저는 자바 파일에서 사용할 것이기 때문에 java를 선택하고
- 우측에 +를 클릭합니다.

- 1번 라이브 템플릿을 누르면 템플릿을 생성할 수 있습니다.
- 2번을 클릭하면 "User Custome" 같은 템플릿 그룹을 만들어서 관리해 줄 수도 있습니다. (여러 커스텀 라이브 템플릿을 만들고 관리하실 분들은 템플릿 그룹을 만드는 걸 추천드립니다)
- 일단 저는 test에 대한 템플릿 한 개만 만들 것이기 때문에 Java 하위에 만들어 보겠습니다.

- Abbreviation: 템플릿을 호출할 때 사용할 단축어를 입력합니다.
- Description:단축어에 대한 설명을 입력합니다.
- template text: 필드에 실제로 삽입될 코드를 입력합니다.
코드
@DisplayName("")
@Test
void test() {
// given
// when
// then
}
- 이 정도만 설정해도 사용하는데 확실히 편리하게 사용할 수 있지만 좀 더 편의성을 추가해 보도록 하겠습니다.
자동 import와 변수설정 추가하기

- 사용할 어노테이션을 full name으로 작성하고 Shorten FQ names 옵션을 켜주면 해당 full names를 잘라서 자동으로 import 해줍니다.
- ex) @org. junit.jupiter.api.DisplayName -> @ DisplayName
- 라이브 템플릿에서는 $으로 감싸면 변수로 사용할 수 있습니다.
- $변수$로 작성하면 Tap을 누를 때마다 해당 위치로 커서위치가 옮겨갑니다.
- 마지막으로 맨 아래 Change를 눌러 해당 템플릿을 어디에서 사용할 것인지 선택하면 완료입니다.
- test 템플릿은 method이기 때문에 Declaration으로 설정해 놓았습니다.
- method 내부에서 사용하고 싶을 때는 statement로 설정하면 됩니다.
결과

코드
@org.junit.jupiter.api.DisplayName("$DisplayName$")
@org.junit.jupiter.api.Test
void $MethodName$() {
// given
$End$
// when
// then
}
- 여기까지 테스트 코드 작성 시 중복으로 작성되는 코드들을 템플릿으로 만들어서 쉽게 사용했습니다.
- 사용해 보니 설정도 간단하면서 편리해서 다른 자주 사용하는 코드들도 템플릿으로 설정해 두면 좋을 것 같습니다.