광고 자리 모집 중 · 제휴 문의

IntelliJ IDEA에서 JetBrains AI Assistant를 활용하여 복잡한 코드 해석 및 단위 테스트를 생성하는 방법

365Finds Editorial
Wiki 문서 11,430편 수록

내 AI에서 365 Wiki 사용하기

아래 프롬프트를 복사해 평소 사용하는 AI에 붙여넣고 바로 질문하세요.

전체 Skill 다운로드

먼저 프롬프트로 체험해 보세요. 365 Wiki를 자주 쓴다면 전체 365Wiki Skill을 설치해 매번 붙여넣는 수고를 줄일 수 있습니다. 평소 쓰는 AI가 없다면 Gemini나 Microsoft Copilot 웹 버전도 사용할 수 있습니다.

레거시 코드를 유지보수하거나 낯선 프로젝트를 인수인계받을 때, 개발자는 중첩된 제어문, 복잡한 정규식, 예외 분기 처리를 파악하는 데 많은 시간을 소모합니다. IntelliJ IDEA에 내장된 JetBrains AI Assistant는 생성형 AI를 IDE 편집기와 빌드 툴체인에 직접 통합하여, 브라우저를 오가며 코드를 복사하고 붙여넣는 번거로움 없이 에디터 내에서 복잡한 로직을 해석하고 완성도 높은 단위 테스트(Unit Test)를 자동 생성할 수 있도록 지원합니다.

단순한 웹 기반 대화형 AI와 달리, JetBrains AI Assistant는 프로젝트의 추상 구문 트리(AST), 의존성 모듈, 패키지 및 디렉터리 구조를 정확하게 인식합니다. 클래스 간의 호출 계층 구조를 분석할 뿐만 아니라 전용 테스트 디렉터리(src/test/java 또는 src/test/kotlin)를 감지하여, 독립된 코드 차이 뷰(AI Diff)에서 생성된 테스트 코드를 사전에 검토할 수 있습니다. 본 가이드에서는 어시스턴트 설정부터 코드 설명 기능의 활용법, 그리고 신뢰도 높은 단위 테스트 생성 절차를 단계별로 설명합니다.


1. 사전 요구사항 및 환경 구성

IntelliJ IDEA에서 AI Assistant 기능을 활성화하기 전, 개발 환경이 다음 조건을 충족하는지 확인해야 합니다.

  1. IDE 버전 확인: IntelliJ IDEA 2023.3 이상 버전(Community Edition의 경우 2024.1.1 이상)이 필요합니다.
  2. 플러그인 설치: AI Assistant 플러그인은 기본적으로 활성화되어 있지 않습니다. Settings | Plugins | Marketplace로 이동하여 검색창에 AI Assistant를 입력한 뒤 Install을 클릭하여 설치합니다.
  3. 라이선스 및 구독: JetBrains AI 유효 구독(Free, Pro, Ultimate, Enterprise) 또는 자체 모델 키 연동(BYOK, Bring Your Own Key)이 필요합니다. 신규 사용자는 IDE 상단 툴바의 JetBrains AI 위젯을 통해 30일간 무료로 제공되는 AI Pro 체험판을 활성화할 수 있습니다.

설치가 완료되면 에디터 우클릭 메뉴와 인텐션 액션(Intention Actions) 항목에 AI 관련 기능이 자동으로 등록됩니다.


2. 에디터에서 복잡한 코드 분석 및 설명 받기

다중 스레드 파이프라인, 고난도 알고리즘 로직, 문서화되지 않은 서드파티 라이브러리 코드를 분석할 때, 프로젝트 컨텍스트를 고려한 AI 설명 기능을 활용하면 직관적인 분석 결과를 얻을 수 있습니다.

실행 단계

  1. 대상 코드 선택: 에디터 창에서 분석하고자 하는 메서드, 반복문 또는 특정 코드 블록을 드래그하여 지정합니다.
  2. 액션 메뉴 호출: 선택 영역을 우클릭하거나 단축키 Alt+Enter(macOS는 Option+Enter)를 누릅니다.
  3. Explain Code 선택: 메뉴에서 AI Actions | Explain Code를 클릭합니다.
  4. AI Chat 창에서 설명 확인: 우측에 AI Chat 도구 창이 즉시 열리며, 선택된 코드의 주요 목적, 실행 흐름, 예외 처리 메커니즘, 시간 및 공간 복잡도 분석 결과가 구조화되어 제공됩니다.

참조된 프로젝트 컨텍스트 확인 (Attachments)

외부 챗봇은 복사된 텍스트 조각만 볼 수 있지만, JetBrains AI Assistant는 주변 클래스, 참조 타입, 프로젝트 설정을 함께 고려합니다. AI Chat 답변 상단에 위치한 Attachments 드롭다운을 클릭하면, 해당 답변을 도출하기 위해 참조된 실제 프로젝트 소스 파일과 심볼 목록을 직접 확인할 수 있습니다.

삽입 언어(RegExp 및 SQL) 특화 설명

IntelliJ IDEA는 문자열 리터럴 내부의 언어 주입(Language Injections)을 자동으로 감지합니다. 정규표현식이나 SQL 쿼리, Cron 표현식에 커서가 위치할 경우 전용 액션이 활성화됩니다.


3. AI Assistant를 활용한 단위 테스트 자동 생성

경계값 처리, null 검증, 예외 분기 테스트를 수작업으로 일일이 작성하는 것은 번거롭고 누락이 발생하기 쉽습니다. JetBrains AI Assistant는 프로젝트의 테스트 프레임워크(JUnit 4/5, TestNG, Mockito 등) 규격에 맞춰 테스트 코드를 자동 구성합니다.

단위 테스트 생성 절차

  1. 테스트 대상 지정: 테스트하려는 클래스 선언부나 메서드 시그니처 내부에 커서를 놓습니다.
  2. 테스트 생성 호출: Alt+Enter를 누르거나 우클릭하여 AI Actions | Generate Unit Tests를 선택합니다.
  3. AI Diff 탭에서 검토: 생성된 코드는 기존 소스에 곧바로 반영되지 않고, 전용 AI Diff 화면에 양방향 비교 뷰로 표시됩니다. 메서드 네이밍, 모의 객체(Mock) 주입, 어설션(Assertion), import 구문을 면밀히 검토할 수 있습니다.

테스트 결과 수정 및 재구성

AI Diff 화면에서는 코드를 저장하기 전에 다양한 방식으로 결과를 다듬을 수 있습니다.

테스트 파일 저장 및 모듈 연동

검토가 완료되면 Accept all을 클릭하여 테스트 코드를 저장합니다.


4. 런타임 오류 및 테스트 실패에 대한 AI 진단

단위 테스트를 실행하거나 애플리케이션을 디버깅하는 과정에서 assertion 실패나 예외가 발생하면 Run 또는 Debug 콘솔 창에 긴 스택 트레이스(Stack Trace)가 출력됩니다.

오류 로그를 외부로 복사할 필요 없이 다음 절차를 이용할 수 있습니다.

  1. 콘솔의 오류 메시지 또는 실패 지점 옆에 나타나는 Explain with AI 버튼을 클릭하거나 로그 라인을 우클릭하여 Explain Error Message with AI를 선택합니다.
  2. AI Chat 창이 실패의 근본 원인(배열 인덱스 초과, 모의 객체 반환값 불일치, null 참조 등)을 분석하고 구체적인 코드 패치를 제시합니다.
  3. Apply를 클릭하여 수정 코드를 원본 파일에 직접 반영하거나, Insert Snippet at Caret을 클릭하여 현재 커서 위치에 코드를 삽입합니다.

5. 개발자를 위한 권장 실천 사항

개발 생산성을 극대화하면서도 코드 품질을 철저히 유지하려면 다음 사항을 염두에 두어야 합니다.


참고 자료