서론
웹 개발 환경에서 IntelliJ IDEA가 각광받는 이유 중 하나는
개발에 필요한 플러그인, 편의성 다양한 도구등을 내장하고 있기 때문이라고 생각한다.
IntelliJ의 추가적인 키셋 설정은 반복 작업의 자동화로 편의성을 높일 수 있다.
이번 포스팅에는 TDD를 작성하는 과정을 예시로 키셋 설정 방법을 정리해보려고 한다.
포스팅은 Window OS에서 작성되었습니다.
메일 서비스 TDD 주도개발
매출 통계 내역을 메일로 전송하려고 한다.
간단하게 생각해서 메일 서비스에 필요한 것은 무엇일까?
- 메일 전송 파라미터를 담을 메서드
- 메일 전송 결과를 판단할 타입
- 메일 내용을 담을 Entity 등이 있을 것 같다.
메일서비스의 테스트 생성부터 테스트코드 작성 키셋, 통합테스트를 위한 gradle 단축키 설정을
순서대로 정리하여 시나리오 순으로 간단히 작성해보려고 한다.
1. MailServiceTest 클래스 생성
테스트 코드를 작성하기 위해,
인텔리제이에서 ctrl + alt + T를 통해 test 디렉터리 내 같은 경로로 생성해 주는 단축키를 제공하고 있다.
2. live templates 기능을 통해 test 편의성 추가
BDD 스타일을 통해 시나리오에 기반한 테스트케이스(TC) 자체에 집중하여,
테스트하기 위한 설정으로 다음과 같이 나눌 수 있다.
- 어떤 환경에서(given), 메일 클라이언트 Mockito 생성
- 어떤 행동을 진행했을 때(when), 메일을 전송했을 때
- 어떤 상태변화가 일어난다.(then), true가 나오는가?
테스트마다 이 과정을 반복하게 된다면, 개발자들에게 테스트는 더욱 피곤한 작업이 될 것이다.
인텔리제이에서는 이러한 과정을 live templates으로 설정해 놓을 수 있는 기능을 제공한다.
custom이라는 Template Group을 생성하고 그 안에서 test(Live Template)을 만들어 관리하기로 했다.
Displayname을 설정하여 테스트를 명확히 보여줄 수 있도록 하고
give when then을 작성하여 테스트 코드를 작성할 예시이다.
$DISPLAY_NAME$, $METHOD_NAME$, $END$과
같은 특별한 기호인 '$' 템플릿 변수는 사용자가 입력한 값으로 대체된다.
이후, 마우스 커서는 다음 변수로 대체되며 효율성을 향상한다.
3. 빠른 테스트를 위한 gradle 단축키 열기
Gradle 빌드 도구를 활용하여 Java 프로젝트를 빌드하고 테스트를 실행할 때,
gradle의 단축키가 존재하지 않아 마우스를 활용해야 한다.
Gradle과 같이 단축키를 제공하지 않으며, 본인이 자주 사용되는 도구들이라면
키셋 설정으로 마우스의 소모 시간 또한 절약할 수 있다.
본인은 ctrl + shift + (g) radle을 사용하여 편의성을 증가시켰으며,
이렇게 자주 사용하는 도구들을 keymap을 활용하여 사용할 수 있다.
정리
테스트 시나리오를 큰 순으로 정리를 해보았다.
노트북으로 개발을 진행할 때 마우스를 활용하는 것에 불편성이 커져가고
단축키와 터치패드를 이용하여 작업하는 일이 늘어나는 것 같다.
반복되는 일에 자동화하는 고민으로 개발자들의 편의성이 증가해 더 성공적인 결과물을 만들어 내는 것 같다.
'Back-End > ETC' 카테고리의 다른 글
[Refactor] 리팩터링에 순서가 존재할까? (0) | 2023.11.23 |
---|