Visual Studio 및 VS Code에서 디버깅 및 테스트를 위한 AI 활용

마지막 업데이트 : 12/15/2025
  • GitHub Copilot 및 IntelliCode와 같은 AI 도구는 설정, 탐색 및 문제 설명 자동화를 통해 기존 Visual Studio 및 VS Code 디버깅 기능을 향상시킵니다.
  • VS Code의 디버깅 및 테스트 UI는 확장 기능과 C#용 DotRush를 결합하여 중단점 설정, 다중 대상 디버깅, 프로파일링 및 풍부한 테스트 워크플로를 제공합니다.
  • Copilot은 Visual Studio와 VS Code 모두에서 테스트 생성, 오류 분석 및 자동 수정 속도를 높여주며, 테스트 탐색기 및 테스트 보기와 직접 통합됩니다.
  • 프로파일링, 테스트 커버리지 시각화 및 AI 기반 리팩토링은 팀이 더 빠르고 안정적인 애플리케이션을 구축하고 피드백 루프를 강화하는 데 도움이 됩니다.

Visual Studio에서 디버깅 및 테스트를 위한 AI

Visual Studio와 Visual Studio Code에서의 디버깅 및 테스트는 순전히 수동적인 워크플로에서 지능적이고 AI로 강화된 환경으로 발전했습니다. GitHub Copilot, IntelliCode, 고급 디버거, 테스트 보기 및 DotRush와 같은 확장 프로그램을 사용하면 프로젝트, 테스트, 심지어 오류까지 이해할 수 있습니다. 이를 통해 "단계별 실행 및 추측" 방식에서 벗어나 IDE가 중단점 설정, 테스트 생성, 성능 분석, 심지어 코드 수정 제안까지 자동으로 지원하는 워크플로로 전환할 수 있습니다.

기존 디버깅 도구가 강력하긴 하지만 여전히 너무 기계적이라고 느껴본 적이 있다면, AI는 바로 그 부족함을 채워줄 핵심 요소입니다.이제 Visual Studio와 VS Code는 실패한 테스트를 자연어로 설명하고, 디버그 계획을 작성하고, 테스트 스위트를 자동 생성하고, 시작 설정을 구성하고, 다중 대상 또는 원격 세션을 훨씬 간편하게 오케스트레이션할 수 있습니다. 이 가이드에서는 기존 디버깅 UI 및 중단점 유형부터 AI 기반 테스트 생성 및 Copilot 기반 테스트 복구, 그리고 DotRush를 활용한 C# 중심 워크플로까지 모든 내용을 다룹니다.

AI가 Visual Studio의 디버깅 및 테스트에 실제로 어떤 기능을 추가할까요?

Visual Studio의 AI 지원 개발은 검색, 연결 및 추측에 소요되는 시간을 줄이는 데 중점을 둡니다.따라서 버그를 수정하고 더 나은 테스트를 설계하는 데 더 많은 시간을 할애할 수 있습니다. 문서를 일일이 찾아보거나 시행착오를 거쳐 브레이크포인트를 설정하는 대신, 코드베이스와 의도를 이해하는 도구를 활용할 수 있습니다.

디버깅 측면에서 AI 지원은 "Copilot으로 오류 설명" 및 "Copilot으로 디버깅"과 같은 Copilot Chat 기능으로 나타납니다.Copilot은 실패한 테스트를 자동으로 검사하고, 가설을 세우고, 코드를 편집하고, 디버거를 실행하고, 테스트가 통과할 때까지 반복 작업을 수행하여 변경 사항과 그 이유에 대한 명확한 설명을 제공합니다.

테스트 측면에서 AI는 테스트 생성기 및 프레임워크 지원 도구로 활용됩니다.Visual Studio와 VS Code 모두에서 Copilot은 새로운 테스트 파일을 생성하고, 예외 상황에 대한 테스트 범위를 확장하고, Jest, Mocha, Pytest, NUnit 또는 xUnit과 같은 다양한 프레임워크에 맞게 테스트를 조정하고, 기대치와 입력을 업데이트하여 리팩토링 속도에 맞춰 테스트를 진행할 수 있도록 지원합니다.

이러한 AI 도구는 IDE에 직접 통합되어 있으므로 브라우저 탭, 터미널 및 편집기 사이를 전환할 필요가 없습니다.Visual Studio 또는 VS Code에서 자연어로 질문하고, 키 하나만 누르면 제안된 코드를 삽입하고, 디버거 UI가 Copilot이 백그라운드에서 사용하는 정보를 표시하도록 할 수 있습니다.

Visual Studio AI 디버깅 워크플로

Visual Studio Code에서 기본적인 디버깅 방법

인공지능을 활용하기 전에 VS Code에 내장된 디버거의 구조를 이해하는 것이 필수적입니다.코파일럿과 다른 어시스턴트들은 이러한 기능들을 대체하는 것이 아니라 본질적으로 자동화하거나 오케스트레이션하는 역할을 하기 때문입니다.

VS Code의 디버거 사용자 인터페이스는 실행 및 디버그 보기, 디버그 도구 모음, 디버그 콘솔을 중심으로 구성됩니다.디버그 사이드바에는 중단점, 호출 스택, 변수 및 감시 표현식이 표시됩니다. 실행 메뉴에는 가장 일반적인 명령이 표시되어 F5와 같은 키보드 단축키를 통해 세션을 쉽게 시작하거나 제어할 수 있습니다.

VS Code에서 애플리케이션을 디버깅하려면 적절한 디버그 확장 프로그램과 구성이라는 두 가지 핵심 단계가 필요합니다.JavaScript, TypeScript 및 Node.js는 기본적으로 지원되는 반면 Python, C#, PHP, Ruby, Go, C++ 또는 PowerShell과 같은 언어는 마켓플레이스 확장 프로그램을 사용해야 합니다. 간단한 스크립트의 경우 VS Code는 활성 파일에서 구성을 추론할 수 있지만, 더 복잡한 앱은 일반적으로 별도의 구성이 필요합니다. launch.json 프로세스를 시작하거나 연결하는 방법을 설명합니다.

디버그 세션을 시작하는 것은 일반적으로 대상 파일을 열고 F5 키를 누르거나 "실행 및 디버그"를 클릭하는 것만큼 간단합니다.그러면 VS Code는 사용할 디버거를 묻고, 선택한 구성을 실행하고, 디버그 콘솔을 열고, 색상이 있는 상태 표시줄과 활성 구성 표시기를 통해 디버그 상태임을 강조 표시합니다.

디버그 세션에 들어가면 플로팅 디버그 툴바가 중앙 제어판이 됩니다.계속/일시 중지, 건너뛰기, 진입, 종료, 재시작 및 중지 작업을 제공합니다. 여러 프로세스를 동시에 디버깅하는 경우 도구 모음의 드롭다운 메뉴를 사용하여 호출 스택 보기와 동기화된 상태로 활성 세션을 전환할 수도 있습니다.

VS Code에서 중단점 설정 및 데이터 검사 기능 완벽 익히기

VS Code에서 디버깅 세션의 핵심은 여전히 ​​중단점이지만, 이제는 단순한 줄 바꿈 기능보다 훨씬 더 유연해졌습니다.각 유형을 이해하면 특히 나중에 Copilot 기반 분석과 결합할 때 더욱 정확하고 노이즈가 적은 디버그 시나리오를 구축하는 데 도움이 됩니다.

편집기 여백을 클릭하거나 F9 키를 누르면 표준 줄 바꿈을 켜거나 끌 수 있습니다.활성화된 중단점은 빨간색 원으로, 비활성화된 중단점은 회색 원으로 표시됩니다. 중단점을 설정할 수 없는 경우(예: 세션 중에 코드를 편집한 후) 속이 빈 회색 원으로 표시되며, 이는 디버거가 해당 중단점을 유효한 명령과 연결할 수 없음을 나타냅니다.

조건부 중단점을 사용하면 의미 있는 이벤트가 발생할 때만 일시 중지할 수 있습니다.예를 들어, 다음과 같이 평가되는 표현식 true특정 히트 횟수에 도달하거나 다른 중단점이 트리거될 때 조건부 중단점을 추가하거나 편집할 수 있습니다. 이러한 중단점은 여백 컨텍스트 메뉴("조건부 중단점 추가" 또는 "중단점 편집") 또는 실행 및 디버그 보기의 중단점 섹션을 통해 추가하거나 편집할 수 있습니다.

트리거형 브레이크포인트는 다른 브레이크포인트가 실행된 후에만 작동하는 조건부 브레이크포인트의 특별한 유형입니다.이는 실행 과정 중 특정 상태가 확립된 후에만 발생하는 미묘한 문제를 추적하려는 경우에 매우 유용합니다.

인라인 중단점은 한 줄 내에서 열 단위로 작동합니다.압축된 JavaScript나 여러 구문이 한 줄에 나열된 복잡한 코드에 적합합니다. 세션 중에 Shift+F9를 누르거나 컨텍스트 메뉴에서 인라인 옵션을 선택하면 원하는 위치에 정확하게 중단점을 설정할 수 있습니다.

함수 중단점은 '중단점' 패널을 통해 설정할 수 있으며, 특정 파일/줄이 아닌 함수 이름을 기준으로 중단점을 감지합니다.이는 소스 코드를 바로 사용할 수 없거나 위치가 변경되는 동적 또는 생성된 코드를 다룰 때 이상적입니다.

데이터 중단점은 변수 값이 읽히거나, 변경되거나, 접근될 때 실행을 일시 중지함으로써 한 단계 더 나아간 기능을 제공합니다.활성화된 디버거가 이를 지원한다고 가정할 때, 변수 보기에서 설정할 수 있으며 빨간색 육각형으로 표시되어 민감한 상태가 예기치 않게 변경되는 지점을 추적하는 데 매우 유용합니다.

로그포인트는 실행을 중단하지 않고 디버그 콘솔에 진단 정보를 출력하는 비중단점과 유사합니다.다이아몬드 아이콘으로 표시되는 이 기능은 중괄호 안에 표현식이 포함된 텍스트 메시지를 입력받을 수 있으며, 설정된 경우 여백 메뉴 또는 마우스 가운데 버튼 클릭 동작을 통해 켜고 끌 수 있습니다. 특히 코드베이스를 수정하지 않고 로깅과 유사한 인사이트를 얻고자 할 때 유용합니다.

실행 중에 변수와 표현식은 여러 가지 방법으로 검사할 수 있습니다.편집기에서 기호 위에 마우스를 올리거나, 실행 및 디버그 보기의 변수 섹션을 탐색하거나, 감시 목록에 표현식을 추가하는 등의 방법으로 값을 변경할 수 있습니다. 값을 즉시 변경하거나 복사하거나 표현식 조각을 가져와 다른 곳에서 재사용할 수 있습니다.

디버그 콘솔은 선택한 스택 프레임의 컨텍스트에서 표현식을 평가할 수 있는 REPL 인터페이스를 제공합니다.구문 강조 표시 및 여러 줄 입력 지원 기능을 제공합니다. 코드를 단계별로 실행하면서 가설을 빠르게 검증하기에 좋은 곳입니다(예: 특정 입력값으로 함수 평가).

다중 대상 및 원격 디버깅 세션 실행

최신 애플리케이션은 단일 프로세스에서 실행되는 경우가 드물며, VS Code의 디버거는 다중 대상 디버깅을 통해 이러한 현실에 대응합니다.첫 번째 디버그 세션을 시작하면 추가 세션을 생성할 수 있으며, UI는 각 세션이 호출 스택 보기의 최상위 수준에 표시되는 모드로 전환됩니다.

다중 목표 모드에서는 활성 세션 개념이 중요해집니다.툴바의 '계속' 또는 '단계별 진행'과 같은 작업은 선택된 세션에만 적용되며, 툴바 드롭다운 메뉴를 통해 또는 '호출 스택'에서 다른 프로세스를 클릭하여 변경할 수 있습니다. 이를 통해 프런트엔드 개발 서버와 Node.js API 또는 마이크로서비스 클러스터를 동시에 관리하는 경우에도 워크플로를 깔끔하게 유지할 수 있습니다.

VS Code의 원격 디버깅은 확장 프로그램에 따라 달라지므로, 지원 여부는 설치한 언어별 디버거에 따라 결정됩니다.각 확장 프로그램의 마켓플레이스 페이지에는 원격 연결 지원 여부 및 지원 방법(필요한 명령줄 플래그 또는 환경 설정 포함)이 자세히 설명되어 있습니다.

주목할 만한 예외는 Node.js인데, Node.js의 내장 디버거는 별도의 설정 없이 원격 디버깅을 지원합니다.적절한 검사 플래그를 사용하여 시작된 Node 프로세스에 연결한 다음, 마치 로컬에서 실행되는 것처럼 동일한 중단점, 감시 표현식 및 디버그 콘솔 기법을 사용하여 작업할 수 있습니다.

이러한 다중 대상 및 원격 기능은 모두 Copilot이 컨텍스트로 사용할 수 있는 구성 요소입니다.예를 들어 이미 실행 중인 서비스에 연결하거나, 변수 스냅샷을 수집하거나, 분산 호출 흐름을 단계별로 실행하는 등 복잡한 디버그 계획을 수립할 때 유용합니다.

디버거 확장 기능 및 언어 범위

VS Code의 디버깅 기능은 궁극적으로 확장 프로그램 생태계에 달려 있습니다.Node.js에 대한 기본 지원 기능과 Visual Studio Marketplace에서 사용할 수 있는 다양한 언어별 디버거를 제공합니다.

PHP, Ruby, Go, C#, Python, C++, PowerShell 등을 위한 디버거는 "디버거" 카테고리에서 찾을 수 있습니다.또는 실행 메뉴의 "추가 디버거 설치" 항목을 통해 직접 설치할 수 있습니다. 각 확장 프로그램은 실행 및 디버그 보기에 연결되어 적절한 구성 스니펫과 데이터 중단점 또는 고유한 시각화와 같은 추가 기능을 제공합니다.

이러한 디버거들은 공통 프로토콜을 기반으로 구축되었기 때문에 VS Code UI와 깔끔하게 통합됩니다.중단점은 일관되게 작동하고, 테스트 실행기는 테스트 보기에 연결할 수 있으며, Copilot과 같은 AI 도구는 기본 언어에 관계없이 편집기 및 디버그 콘솔을 통해 상호 작용할 수 있습니다.

특수한 동작이 필요한 경우 VS Code에서는 사용자 지정 디버거 확장 프로그램을 작성할 수도 있습니다.공식 문서와 모의 샘플을 통해 프로토콜 구현, 시작/연결 흐름 및 UI 통합 과정을 안내합니다.

Visual Studio에서 AI를 활용한 개발: Copilot 및 IntelliCode

Visual Studio의 GitHub Copilot 및 IntelliCode

Visual Studio IDE 전체 버전 내에서 AI 지원 기능은 GitHub Copilot과 IntelliCode라는 두 가지 핵심 요소를 중심으로 작동합니다.이 두 도구는 함께 작동하여 코드를 더욱 유창하게 작성하고, 이해하고, 테스트하고, 디버깅할 수 있도록 도와줍니다.

Visual Studio의 GitHub Copilot은 현재 컨텍스트를 기반으로 전체 코드 줄 또는 코드 블록을 생성할 수 있는 AI 페어 프로그래머 역할을 합니다.함수를 입력하거나 원하는 바를 설명하는 자연어 주석(예: "// 사용자 입력을 검증하고 오류 발생 시 사용자 지정 예외를 던집니다")을 남기기만 하면 Copilot이 회색 텍스트로 구현 방안을 제안하고, Tab 키를 눌러 수락할 수 있습니다.

Copilot Chat은 IDE 내부에 바로 사용할 수 있는 대화형 채팅 기반 인터페이스를 제공합니다.Copilot을 사용하면 "이 테스트가 실패하는 이유는 무엇입니까?", "이 클래스에 대한 NUnit 테스트를 생성해 주세요", "이 메서드를 더 효율적으로 리팩토링해 주세요"와 같은 질문을 할 수 있습니다. Copilot은 열려 있는 파일, 프로젝트 구조, 그리고 디버깅 시에는 런타임 정보를 분석하여 구체적인 답변과 코드 변경 사항을 제공합니다.

IntelliCode는 수천 개의 오픈 소스 저장소를 기반으로 학습된 머신 러닝 모델을 사용하여 완성 제안 순위를 매겨 기존 IntelliSense 기능을 향상시킵니다.이 기능은 별표로 가장 높은 순위의 제안을 강조 표시하고, 문맥을 고려한 자동 완성 기능을 지원하며, 사용 중인 API의 일반적인 패턴을 반영하는 전체 줄 자동 완성 제안까지 제공합니다.

Copilot은 구독 기반 서비스이며 최신 Visual Studio 버전에 기본 제공되는 반면, IntelliCode는 일반적으로 대부분의 워크로드에 포함되어 있습니다.이 두 가지를 함께 사용하면 빠른 보일러플레이트 생성 및 API 탐색부터 디버깅 힌트 및 테스트 작성에 이르기까지 모든 것을 다룰 수 있으며, 특히 C#, C++, JavaScript, TypeScript, Visual Basic 및 XAML과 같은 언어에 유용합니다.

이 두 기능을 이해하기 쉽게 설명하자면, IntelliCode는 일상적인 IntelliSense 기능을 더욱 스마트하게 만들어주고, Copilot은 대화형 협업자처럼 작동한다는 것입니다. 설계 옵션을 논의하고, 계측 코드를 작성하거나, 요청에 따라 전체 테스트 스위트를 작성할 수 있습니다.

VS Code에서 DotRush를 사용하여 C# 디버깅 및 테스트하기

VS Code의 빠른 속도와 간결함을 선호하는 C# 개발자를 위해 DotRush 확장 프로그램은 가벼운 편집기에서 Visual Studio 스타일의 환경을 제공합니다. VS Code, Neovim, Zed처럼 디버깅, 테스트, 프로파일링 기능이 하나의 종속성 없는 확장 프로그램에 통합되어 있습니다.

DotRush는 자동 완성, 정의로 이동, 모든 참조 찾기, 서식 지정, 이름 변경 및 멤버 검색과 같은 모든 표준 IntelliSense 기능을 제공합니다.게다가, 이 도구는 System 네임스페이스에 있는 라이브러리를 포함하여 라이브러리의 실제 C# 소스 코드를 보여줄 수 있는 디컴파일러를 통합하여 블랙박스 어셈블리를 훨씬 더 투명하게 만들어 줍니다.

DotRush의 뛰어난 기능 중 하나는 다중 목표 진단입니다.첫 번째만 분석하는 대신에 targetFramework 프로젝트에서 구성된 모든 프레임워크를 한 번에 평가합니다. 솔루션이 .NET Framework와 .NET Core를 모두 대상으로 하는 경우, 컨텍스트 전환을 반복하지 않고도 어느 플랫폼에서 코드가 실패하는지 즉시 확인할 수 있습니다.

이 확장 프로그램은 복잡한 솔루션에도 적합합니다.여러 프로젝트와 솔루션을 동시에 열 수 있으며, 내장된 프로젝트/솔루션 선택기를 통해 폴더에 여러 후보가 있을 때 로드할 항목을 선택할 수 있습니다. "DotRush: 프로젝트 또는 솔루션 파일 선택"이라는 전용 명령을 사용하여 언제든지 수동으로 선택할 수 있습니다.

디버깅을 위해 DotRush는 VS Code에서는 VSDBG를, 다른 에디터에서는 NetCoreDbg를 사용합니다.기존 시스템과의 호환성을 유지하면서 launch.json 기존 C# 확장 프로그램의 구성과 유사합니다. 대부분의 경우 F5 키를 누르고 ".NET Core 디버거"를 선택하면 DotRush가 추가 구성 없이 앱을 빌드하고 실행합니다.

Visual Studio와 마찬가지로 DotRush에서도 컨텍스트 메뉴를 통해 시작 프로젝트를 선택할 수 있습니다.프로젝트 또는 해당 폴더에 "시작 프로젝트로 설정"을 지정하면 특수 점 아이콘이 표시되고 상태 표시줄이 업데이트되어 활성 구성과 디버깅에 사용되는 대상 프레임워크가 모두 표시됩니다.

디버그 세션을 최고 수준의 .NET 환경처럼 느껴지도록 하기 위해 DotRush는 자동으로 다음 파일을 읽습니다. Properties/LaunchSettings.json 또한 NetCoreDbg를 사용하는 경우에도 관련 설정을 디버거에 전달하므로 환경 변수 및 시작 프로필이 기존 Visual Studio 워크플로에서 예상하는 대로 작동합니다.

게임 개발자들도 DotRush를 통해 Unity 및 Godot 프로젝트 디버깅을 지원받을 수 있어 많은 이점을 얻습니다.DotRush 설명서에 있는 간단한 설정 지침을 따르면 적절한 플레이어 또는 에디터 인스턴스에 연결하여 중단점, 감시 기능 및 디버그 콘솔을 사용하여 게임 플레이 코드를 단계별로 실행할 수 있습니다.

테스트 측면에서 DotRush는 NUnit 및 xUnit 테스트 프레임워크를 이해하는 테스트 탐색기를 제공합니다.이를 통해 VS Code에서 직접 테스트를 실행하거나 디버깅하고, 결과를 검사하고, 전체 Visual Studio IDE로 돌아가지 않고도 테스트를 일상적인 C# 워크플로에 통합할 수 있습니다.

프로파일링 기능도 내장되어 있어 실행 과정을 추적하거나 힙 덤프를 캡처할 수 있습니다. 디버그 패널의 추가 버튼이나 "DotRush: 추적 프로파일러 연결" 및 "DotRush: 힙 덤프 생성"과 같은 전용 명령을 통해 보고서를 생성할 수 있습니다. 보고서는 프로젝트와 함께 저장되므로 시간 경과에 따른 성능 저하를 추적할 수 있습니다.

Visual Studio에서 테스트 탐색기 및 성능 도구 사용하기

Visual Studio IDE 정식 버전에서 테스트 탐색기는 테스트 실행, 디버깅 및 프로파일링을 위한 명령 센터 역할을 합니다.이는 테스트 메서드와 기본 프로젝트를 연결하여 실패한 테스트와 해당 테스트가 실행되는 프로덕션 코드 사이에 긴밀한 연결 고리를 제공합니다.

테스트를 디버깅하려면 일반적으로 편집기에서 테스트 메서드에 중단점을 설정한 다음 테스트 탐색기에서 해당 테스트를 선택하고 디버그 명령을 선택합니다.Visual Studio의 디버거는 단계별 실행 시 테스트 코드와 테스트 대상 코드 사이를 자동으로 이동하며, 조사식 창, 호출 스택, 지역 변수 및 자동 설정 창을 통해 런타임 상태를 자세히 보여줍니다.

Visual Studio 2022는 테스트 탐색기에서 직접 테스트 메서드 프로파일링을 할 수 있도록 하여 이 기능을 확장했습니다.테스트를 마우스 오른쪽 버튼으로 클릭하고 프로필을 선택하면 성능 프로파일러가 열립니다. 여기에서 CPU 사용량 분석이나 메모리 할당 추적과 같은 도구를 선택하여 테스트의 어느 부분이 너무 느리거나 메모리를 많이 사용하는지 확인할 수 있습니다.

작은 작업 단위를 개별적으로 분석할 수 있기 때문에 집중적인 실험을 설계할 수 있습니다.프로파일러에서 속도 저하 테스트를 한 번 실행하고, 문제 발생 지점을 최적화한 다음, 다시 실행하여 전체 솔루션을 계측하지 않고도 변경 사항이 시간이나 메모리 사용량을 개선했는지 즉시 확인할 수 있습니다.

테스트 및 성능 도구 간의 긴밀한 통합 덕분에 Visual Studio는 회귀 테스트에 특히 강력한 도구입니다.특정 테스트가 갑자기 시간이 더 오래 걸리거나 메모리 누수가 발생하기 시작할 때, 그 변화의 원인을 신속하게 파악하고 싶을 때 유용합니다.

Visual Studio에서 테스트 실패 시 AI 기반 도움말 제공

Visual Studio 2022의 최신 버전부터 GitHub Copilot은 테스트 워크플로에 더욱 깊이 관여합니다. 테스트 탐색기의 컨텍스트 메뉴 옵션(예: "Copilot으로 오류 설명" 및 "Copilot으로 디버그")을 통해 오류를 해결할 수 있습니다.

Copilot에게 실패 원인 설명을 요청하면, Copilot은 실패한 테스트, 테스트 대상 코드 및 관련 오류 메시지를 검사합니다.그런 다음, 무엇이 잘못되었는지에 대한 자연어 설명을 생성합니다. 이는 오류 메시지가 모호하거나 비동기 또는 데이터에 의존하는 로직으로 인해 근본 원인을 파악하기 어려울 때 매우 유용할 수 있습니다.

"Copilot으로 디버그"를 선택하면 한 단계 더 나아가 Copilot 디버거 에이전트가 시작됩니다.이 에이전트는 구조화된 루프를 따릅니다. 근본 원인에 대한 가설을 세우고, 수정을 시도하기 위해 코드를 편집하고, 디버거에서 테스트를 실행한 다음, 문제가 지속되면 다시 분석합니다. 테스트가 통과하거나 더 이상 적절한 옵션이 없을 때까지 이 과정을 반복합니다.

이 과정 전반에 걸쳐 Copilot은 변경 사항과 변경 이유를 추적합니다.테스트를 통과하면 디버깅 계획, 수정 사항 및 각 조정 이유에 대한 자세한 요약을 제공하므로 메인 브랜치에 최종 반영하기 전에 검토할 수 있습니다.

일부 워크플로에서는 Copilot이 디버그 계획을 생성하고, 중단점과 감시 변수를 설정한 다음 세션을 시작하여 환경을 자동으로 준비해 줍니다.디버거가 중단점에 도달하면 변수 값을 읽고 단계별 실행을 계속할지, 아니면 테스트를 편집하고 다시 실행하는 단계로 전환할지 결정합니다.

Copilot Chat을 통해 전체 과정을 계속 제어할 수 있습니다.여기서는 추가 질문을 하거나, 다른 해결 방법을 요청하거나, 코드의 특정 영역으로 변경 사항을 제한할 수 있습니다. 이러한 자동화와 대화형 제어의 조합 덕분에 AI 기반 테스트 디버깅은 마치 매우 빠르고 인내심 있는 팀원과 함께 작업하는 것처럼 느껴집니다.

Visual Studio Code에서 테스트 워크플로 및 AI 지원

Visual Studio Code는 확장 기능을 기반으로 구축된 풍부한 테스트 프레임워크와 테스트 보기, 인라인 상태 표시기, 전용 테스트 결과 패널과 같은 뛰어난 UI 요소를 포함하고 있습니다.GitHub Copilot의 AI 지원 기능이 이 모델에 통합되어 테스트 작성 및 오류 분석 속도를 높입니다.

VS Code의 테스트 지원은 언어 및 프레임워크별로 다르며, 일반적으로 언어 확장 기능이나 독립형 테스트 확장 기능을 통해 구현됩니다.널리 사용되는 조합으로는 JavaScript용 Jest 또는 Mocha, Python용 Pytest, Java용 JUnit, .NET용 NUnit/xUnit 등이 있으며, 이 모든 도구는 확장 프로그램 보기의 테스트 범주에서 찾을 수 있습니다.

테스트 보기(활동 표시줄의 비커 아이콘을 통해 접근 가능)는 테스트를 검색, 실행 및 디버깅하는 데 사용되는 중심 허브 역할을 합니다.확장 프로그램은 종종 테스트를 자동으로 검색하여 폴더 또는 스위트 계층 구조를 반영하는 트리 형태로 표시하며, 각 노드에는 실행 및 디버그 아이콘이 제공됩니다.

VS Code는 테스트를 실행하거나 디버깅할 때 각 테스트 옆의 편집기 여백에 상태 아이콘을 직접 표시합니다.이를 통해 어떤 테스트가 통과했는지, 어떤 테스트가 실패했는지 즉시 확인할 수 있습니다. 출력 결과를 클릭하거나 테스트 결과 패널을 사용하면 로그, 오류 메시지 및 스택 추적 정보를 확인하여 더 자세히 살펴볼 수 있습니다.

테스트 커버리지 지원은 커버리지 도구를 통합하고 결과를 VS Code로 다시 전달하는 확장 프로그램을 통해 제공됩니다.테스트 커버리지 현황은 편집기 여백에 오버레이로 표시되거나, 백분율과 색상 표시기가 있는 테스트 커버리지 보기, 탐색기 보기 통계, 심지어 수정 버전 간의 커버리지 변화를 확인할 수 있는 차이점 편집기 오버레이로 시각화할 수 있습니다.

태스크 통합을 통해 워크스페이스에서 테스트를 일급 명령처럼 다룰 수 있습니다.예를 들어 기본 "테스트" 작업을 선언하는 방식으로 tasks.json 그것은 다음과 같습니다 npm test or node --test그런 다음 키보드 단축키를 지정하거나 "작업: 테스트 작업 실행"을 사용하여 한 번에 실행할 수 있습니다.

VS Code에서 AI를 사용하여 테스트를 작성하고 유지 관리합니다.

VS Code의 GitHub Copilot은 애플리케이션 코드에서 테스트를 생성해 줌으로써 테스트 작성 및 업데이트의 어려움을 해소해 줍니다.사용자의 요청에 따라 단위 테스트부터 통합 테스트 또는 엔드투엔드 시나리오까지 모든 것을 처리합니다.

한 가지 방법은 에디터의 스마트 액션을 활용하는 것입니다. 필요에 따라 애플리케이션 코드 블록을 선택하고 마우스 오른쪽 버튼을 클릭한 다음 Copilot > 테스트 생성(Generate Tests)을 선택하면 됩니다.Copilot은 선택 항목을 분석하고 예상되는 동작을 추론하여 일반적인 흐름과 예외 상황에 대한 테스트 케이스가 포함된 새롭거나 업데이트된 테스트 파일을 제안합니다.

또 다른 접근 방식은 채팅 기반 방식입니다.테스트할 파일을 열고 Copilot Edits, 채팅 보기 또는 인라인 채팅을 실행한 다음 "이 코드에 대한 테스트(예외 사례 포함) 생성" 또는 "다음 React 컴포넌트에 대한 Jest 테스트 생성"과 같은 프롬프트를 입력합니다. 특정 파일을 참조하려면 다음을 사용할 수 있습니다. #file Copilot에 더 많은 맥락을 제공하기 위한 태그입니다.

Copilot은 기존 파일에 테스트를 삽입할지 아니면 새 파일을 생성할지 결정합니다.프로젝트 구조와 일반적인 관례에 따라 달라집니다. 다른 프레임워크나 스타일을 선호하는 경우, Copilot에 "이 테스트를 Mocha에서 Jest로 변환" 또는 "xUnit 속성을 사용하여 다시 작성"과 같이 출력을 조정하도록 요청할 수 있습니다.

테스트가 이미 생성된 경우 Copilot은 코드 변경 사항과 테스트를 동기화하는 데에도 도움을 줄 수 있습니다.API가 발전함에 따라 어설션, 모의 객체 또는 입력 데이터에 대한 업데이트를 제안하여 테스트 스위트가 서서히 쓸모없어지는 대신 지속적으로 가치를 유지하도록 합니다.

이 모든 기능은 VS Code의 테스트 보기와 완벽하게 통합됩니다.이를 통해 테스트를 생성하고, 실행하고, 테스트 범위를 검사한 다음, 후속 프롬프트를 통해 테스트를 개선하거나 확장하는 긴밀하고 반복적인 과정을 거칠 수 있습니다.

종합적으로 볼 때, Visual Studio와 VS Code에 포함된 기존 디버거 기능, 테스트 탐색기, 프로파일링 도구 및 AI 도우미는 디버깅과 테스트를 훨씬 더 체계적이고 협업적인 활동으로 만들어 줍니다.빨간색으로 표시된 테스트 실패를 바라보며 중단점을 어디에 설정해야 할지 추측하는 대신, IDE의 도움을 받아 가설을 세우고, 적절한 위치에 계측 도구를 설치하고, 테스트를 생성 또는 수정하고, 수정 사항을 검증하는 과정을 훨씬 수월하고 심층적으로 진행할 수 있습니다.

인공 지능 장치 코드 제거 장치
관련 기사 :
코드 디버깅 및 개발을 더욱 효율적으로 만들어주는 AI 도구
관련 게시물: