본문으로 건너뛰기

Visual Studio Code에서 Java 테스트하기

Visual Studio Code에서 Java 테스트는 Test Runner for Java 확장 프로그램을 통해 활성화됩니다. 이 확장 프로그램은 Java 테스트 케이스를 실행하고 디버깅하기 위한 경량 확장입니다.

개요

이 확장 프로그램은 다음 테스트 프레임워크를 지원합니다:

Test Runner for JavaRed Hat의 Java™에 대한 언어 지원Java 디버거 확장 프로그램과 함께 작동하여 다음 기능을 제공합니다:

  • 테스트 케이스 실행/디버깅
  • 테스트 구성 사용자 정의
  • 테스트 보고서 보기
  • Testing Explorer에서 테스트 보기

요구 사항

Java용 확장 팩 설치

프로젝트 설정

참고: 이미 프로젝트에 Java 테스트 프레임워크를 설정한 경우 기능 섹션으로 건너뛸 수 있습니다.

테스트 활성화 및 프로젝트에 테스트 프레임워크 JAR 추가하기

Test Runner for Java 버전 0.34.0부터는 Testing Explorer에서 몇 가지 단계만으로 관리되지 않는 폴더 프로젝트(빌드 도구가 없는 프로젝트)에 테스트 프레임워크를 활성화할 수 있습니다:

참고: 현재 이 기능은 테스트 종속성이 포함되지 않은 관리되지 않는 폴더만 지원합니다.

JUnit 4

Maven

다음 구성을 pom.xml에 추가하세요:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>(YOUR_JUNIT_VERSION)</version>
<scope>test</scope>
</dependency>

Gradle

다음 줄이 build.gradle에 추가되었는지 확인하세요:

plugins {
java
}

dependencies {
testImplementation('junit:junit:(YOUR_JUNIT_VERSION)')
}

관리되지 않는 폴더

프로젝트가 빌드 도구를 사용하지 않는 경우, Testing Explorer를 통해 JUnit 4를 활성화하거나 다음 JAR를 수동으로 다운로드하여 프로젝트 클래스 경로에 추가할 수 있습니다 (java.project.referencedLibraries 설정을 통해, 종속성 관리에서 더 많은 정보를 확인하세요):

JUnit 4 설정 방법에 대한 자세한 내용은 공식 JUnit 위키를 확인하세요.

JUnit 5

JUnit 5 팀은 다양한 빌드 도구를 사용하는 샘플 프로젝트 모음을 제공합니다. 프로젝트에서 Maven 또는 Gradle을 빌드 도구로 사용하는 경우 junit5-sample 리포지토리를 확인하세요.

관리되지 않는 폴더

프로젝트가 빌드 도구를 사용하지 않는 경우, Testing Explorer를 통해 JUnit 5를 활성화하거나 junit-platform-console-standalone JAR를 프로젝트 클래스 경로에 수동으로 포함할 수 있습니다 (java.project.referencedLibraries 설정을 통해, 종속성 관리에서 더 많은 정보를 확인하세요).

TestNG

Maven

다음 구성을 pom.xml에 추가하세요:

<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>(YOUR_TESTNG_VERSION)</version>
<scope>test</scope>
</dependency>

Gradle

다음 줄이 build.gradle에 추가되었는지 확인하세요:

plugins {
java
}

dependencies {
testImplementation('org.testng:testng:(YOUR_TESTNG_VERSION)')
}

관리되지 않는 폴더

프로젝트가 빌드 도구를 사용하지 않는 경우, Testing Explorer를 통해 TestNG를 활성화하거나 다음 JAR를 수동으로 다운로드하여 프로젝트 클래스 경로에 추가할 수 있습니다 (java.project.referencedLibraries 설정을 통해, 종속성 관리에서 더 많은 정보를 확인하세요):

기능

테스트 케이스 실행/디버깅

Test Runner for Java 확장 프로그램은 클래스 및 메서드 정의의 왼쪽에 단축키(녹색 재생 버튼)를 생성합니다. 대상 테스트 케이스를 실행하려면 녹색 재생 버튼을 선택하세요. 오른쪽 클릭하여 추가 옵션을 볼 수도 있습니다.

Testing Explorer

Testing Explorer는 작업 공간의 모든 테스트 케이스를 보여주는 트리 뷰입니다. Visual Studio Code의 왼쪽 활동 바에서 비커 버튼을 선택하여 열 수 있습니다. 여기서 테스트 케이스를 실행/디버깅하고 테스트 결과를 볼 수 있습니다.

테스트 구성 사용자 정의

때때로 테스트 케이스를 실행하기 위해 구성을 사용자 정의하고 싶을 수 있습니다. 이를 위해 작업 공간의 설정에서 java.test.config 섹션 아래에 구성을 추가할 수 있습니다.

테스트 구성 사용자 정의

현재 지원되는 구성은 다음과 같습니다:

  • args: 테스트 러너에 전달될 명령줄 인수를 지정합니다.
  • classPaths: 이 설정에 정의된 클래스 경로는 해결된 클래스 경로에 추가됩니다.
  • env: 테스트 실행 시 추가 환경 변수를 키-값 객체로 지정합니다.
  • envFile: 환경 변수 정의가 포함된 파일의 절대 경로를 지정합니다.
  • modulePaths: 이 설정에 정의된 모듈 경로는 해결된 모듈 경로에 추가됩니다.
  • name: 구성 항목의 이름을 지정합니다. 기본 구성 이름은 java.test.defaultConfig 설정을 통해 설정할 수 있습니다.
  • preLaunchTask: tasks.json(작업 공간의 .vscode 폴더)에 지정된 작업의 레이블을 지정합니다. 테스트 시작 전에 작업이 실행됩니다.
  • sourcePaths: 테스트 디버깅 시 추가 소스 경로를 지정합니다.
  • vmArgs: JVM에 대한 추가 옵션 및 시스템 속성을 지정합니다.
  • workingDirectory: 테스트 실행 시 작업 디렉토리를 지정합니다.
  • testKind: 이 테스트 구성의 대상 테스트 프레임워크를 지정합니다. 지원되는 값은 junit, testng입니다.
  • filters: 테스트 필터를 지정합니다.
    • tags: 포함하거나 제외할 태그를 지정합니다. !가 접두사로 있는 태그는 제외됩니다. 주의: 이 설정은 testKindjunit으로 설정된 경우에만 적용됩니다.

자세한 내용은 vscode-java-test 위키에서 확인할 수 있습니다.

테스트 결과 보기

테스트 케이스를 실행/디버깅한 후 관련 테스트 항목의 상태는 편집기 장식과 Testing Explorer 모두에서 업데이트됩니다.

Test: Peek Output 명령을 트리거하여 결과 뷰를 미리 볼 수 있습니다. 스택 추적의 링크를 선택하여 소스 위치로 이동할 수 있습니다.

테스트 생성

이 확장 프로그램은 테스트 케이스를 스캐폴딩하는 데 도움이 되는 기능을 제공합니다. 편집기 컨텍스트 메뉴에서 항목을 찾을 수 있습니다. **Source Action...**을 선택한 다음 **Generate Tests...**를 선택하세요.

주 소스 코드(테스트 주제)에서 이 소스 작업을 트리거하면 테스트 클래스의 완전한 이름과 테스트할 메서드를 요청받게 됩니다. 그러면 확장 프로그램이 테스트 코드를 생성합니다:

테스트 소스 코드에서 소스 작업을 트리거하면 추가할 테스트 메서드의 종류를 요청받게 됩니다. 생명 주기 메서드와 테스트 메서드가 포함됩니다:

테스트 탐색

이 확장 프로그램은 테스트와 테스트 주제 간의 탐색을 도와주는 기능을 제공합니다. 소스 코드가 src/main/java 또는 src/test/java에 포함되어 있는 경우, 편집기 컨텍스트 메뉴에서 Go to Test 또는 Go to Test Subject라는 항목을 찾을 수 있습니다:

명령 팔레트(kb(workbench.action.showCommands))에서 Java: Go to Test를 검색하여 명령을 찾을 수도 있습니다.

VS Code 테스트 명령

명령 팔레트(kb(workbench.action.showCommands))에서 'Test:'를 검색하여 찾을 수 있는 다른 테스트 명령(예: Run Tests in Current File)이 있습니다.

명령 팔레트의 테스트 명령

VS Code 테스트 설정

테스트에 특정한 VS Code 설정은 설정 편집기(kb(workbench.action.openSettings))에서 'testing'을 검색하여 찾을 수 있습니다.

설정 편집기의 테스트 설정

FAQ

확장 프로그램 사용 중 문제가 발생하면 FAQ문제 목록을 검토하여 문제에 대한 답변이 있는지 확인할 수 있습니다.

기여 및 피드백

피드백을 제공하거나 코드베이스에 직접 기여하는 데 관심이 있다면 Test Runner for Java에 기여하기를 읽어보세요. 여기에는 다음 내용이 포함됩니다:

다음 단계

다음에 대해 알아보세요:

  • 디버깅 - VS Code로 Java 프로젝트를 디버깅하는 방법을 알아보세요.
  • Java용 확장 - VS Code에 유용한 Java 확장에 대해 알아보세요.