JUnit을 Maven 프로젝트에서 사용하는 방법은?
_____A1: JUnit은 Java 프로그래밍 언어용 단위 테스트 프레임워크로, 코드의 기능을 자동으로 검증할 수 있도록 도와줍니다.
Q2: Maven 프로젝트에 JUnit을 추가하려면 어떻게 하나요?
A2: `pom.xml` 파일의 `
예를 들어, JUnit 5를 사용할 경우:
```xml
```
Q3: JUnit 4와 JUnit 5의 차이는 무엇인가요?
A3: JUnit 5는 모듈화되고 확장성이 개선된 최신 버전이며, 네임스페이스가 `org.junit.jupiter`로 바뀌고 어노테이션 등이 변경되었습니다. JUnit 4는 `org.junit` 네임스페이스를 사용합니다.
Q4: JUnit 의존성 추가 후 어떻게 테스트를 실행하나요?
A4: Maven에서는 기본적으로 `mvn test` 명령어를 사용하면 `src/test/java` 디렉터리 내의 테스트를 실행합니다.
Q5: 테스트 코드는 어디에 위치해야 하나요?
A5: Maven 표준 디렉터리 구조에 따라 테스트 코드는 `src/test/java` 폴더에 위치해야 합니다.
Q6: JUnit 5 사용 시 Maven Surefire 플러그인 설정이 필요한가요?
A6: 최신 Maven 버전과 Surefire 플러그인 버전에선 기본 지원하므로 별도 설정 없이 작동하지만, 문제가 발생한다면 `pom.xml`에 다음과 같이 추가할 수 있습니다:
```xml
```
Q7: JUnit 테스트 클래스 및 메서드 작성법은?
A7: JUnit 5 기준으로, 클래스에 특별한 어노테이션은 필요 없으며, 테스트 메서드에는 `@Test` 어노테이션을 붙입니다.
```java
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class MyTest {
@Test
void testAddition() {
assertEquals(4, 2 + 2);
}
}
```
Q8: Maven 프로젝트에서 JUnit 테스트 실행 시 이슈가 발생하면 어떻게 해결하나요?
A8:
- `pom.xml` 의존성 버전을 확인합니다.
- `mvn clean test` 명령어로 깨끗한 상태에서 다시 빌드합니다.
- `maven-surefire-plugin` 버전이 최신인지 확인합니다.
- 테스트 클래스 이름이 `*Test.java` 패턴인지 확인합니다. Maven은 기본으로 ` /*Test.java`, ` /*Tests.java`, ` /*TestCase.java` 패턴을 실행합니다.
Q9: JUnit을 통한 Maven 프로젝트 내 연속 통합(CI) 연동은 어떻게 하나요?
A9: Maven 빌드 중 테스트가 자동으로 실행되므로, Jenkins, GitHub Actions 등 CI 도구에서 `mvn test` 또는 `mvn verify` 명령을 실행하면 테스트가 포함됩니다.
Q10: JUnit 외 추가로 필요한 Maven 플러그인은 무엇인가요?
A10: 일반적으로 `maven-surefire-plugin`이 JUnit 테스트 실행을 담당하며, 코드 커버리지 분석을 위해 `jacoco-maven-plugin` 등을 추가로 사용할 수 있습니다.
1. Maven 프로젝트 생성 및 설정 우선 Maven 프로젝트가 필요합니다.
IntelliJ IDEA, Eclipse 등의 IDE에서 쉽게 생성할 수 있고, 직접 `pom.xml` 파일을 작성해서도 가능합니다.
2. `pom.xml`에 JUnit 의존성 추가 Maven은 `pom.xml` 파일에 의존성을 선언하여 필요한 라이브러리를 자동으로 다운로드하고 프로젝트에 포함시켜줍니다.
가장 널리 사용하는 JUnit 버전은 JUnit 5(Jupiter)입니다.
따라서 JUnit 5 의존성을 아래처럼 추가합니다.
```xml
이는 테스트 코드에서만 해당 라이브러리를 사용하겠다는 의미입니다.
3. Maven Surefire Plugin 설정 (선택 사항) Maven은 기본적으로 Surefire 플러그인을 이용해 테스트를 실행합니다.
보통 기본 설정이 잘 되어 있어서 따로 설정하지 않아도 되지만, 테스트 실행 방식을 커스터마이징 하거나 특정 JUnit 버전을 강제할 때 설정합니다.
예를 들어 `pom.xml`에 다음을 추가할 수 있습니다.
```xml
4. 테스트 클래스 생성 Maven 프로젝트 구조에서 테스트 클래스는 일반적으로 `src/test/java` 경로 아래에 생성합니다.
예를 들어, `src/test/java/com/example/MyServiceTest.java` 처럼 만듭니다.
5. 간단한 JUnit 5 테스트 클래스 예시 ```java import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class MyServiceTest { @Test void testAddition() { int sum = 1 + 1; assertEquals(2, sum, "1 + 1은 2여야 한다.
"); } } ```
6. 테스트 실행 - IDE에서 바로 실행 가능 (Run as JUnit Test) - 명령어로 실행 가능 ```bash mvn test ``` 이 명령어는 `src/test/java` 경로 내 모든 테스트를 찾아 실행합니다.
7. 추가 팁 - JUnit 4를 사용할 경우 의존성이 다르며, 메서드 어노테이션도 `@Test` 하나만 붙이면 됩니다.
JUnit 5는 Jupiter API를 포함하는 위 의존성을 사용하세요.
- Mockito, AssertJ 등과 같이 테스트를 보조하는 라이브러리를 추가할 수도 있습니다.
이런 라이브러리도 `test` scope로 추가합니다.
Maven 프로젝트에서 JUnit을 사용하려면 `pom.xml`에 JUnit 5 관련 의존성을 `test` 스코프로 선언하고, 테스트 코드를 `src/test/java`에 작성한 후, Maven 명령어 또는 IDE를 통해 테스트를 실행하면 됩니다.
작성자:
김하은 [비회원]
| 작성일자: 1년 전
2025-05-26 02:50:44
조회수: 168 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 168 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.