728x90
반응형
JUnit을 사용하여 단위 테스트를 작성하는 기초적인 예제 코드를 살펴보겠습니다. 단위 테스트는 소프트웨어 개발에서 각 부분이 올바르게 작동하는지 확인하는 데 도움이 되며, JUnit은 이를 위한 강력한 도구 중 하나입니다.
프로젝트 설정
먼저, 당신의 프로젝트에 JUnit을 추가해보겠습니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다.
<dependencies>
<!-- 다른 의존성들 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
간단한 클래스 생성
테스트할 간단한 클래스를 만들어봅시다. 예를 들어, 계산기 클래스를 만들어보겠습니다.
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Cannot divide by zero!");
}
return a / b;
}
}
JUnit을 활용한 테스트 작성
이제 JUnit을 사용하여 위에서 만든 Calculator 클래스를 테스트하는 코드를 작성해보겠습니다.
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3));
}
@Test
public void testSubtract() {
Calculator calculator = new Calculator();
assertEquals(1, calculator.subtract(4, 3));
}
@Test
public void testMultiply() {
Calculator calculator = new Calculator();
assertEquals(6, calculator.multiply(2, 3));
}
@Test
public void testDivide() {
Calculator calculator = new Calculator();
assertEquals(2, calculator.divide(6, 3));
}
@Test(expected = IllegalArgumentException.class)
public void testDivideByZero() {
Calculator calculator = new Calculator();
calculator.divide(10, 0);
}
}
주요 포인트
- @Test: 해당 메서드가 테스트 메서드임을 선언합니다.
- assertEquals(expected, actual): 예상값과 실제값이 같은지 확인합니다.
- @Test(expected = SomeException.class): 해당 예외가 발생하는지 확인합니다.
실행과 결과 확인
이제 IDE에서 테스트를 실행하면 각 테스트 메서드가 실행되고, 결과가 성공 또는 실패로 표시됩니다.
JUnit은 테스트 결과를 쉽게 이해할 수 있는 형태로 제공하여, 문제가 발생한 경우 빠르게 대처할 수 있습니다.
728x90
반응형
'백엔드 > Spring Boot 이론' 카테고리의 다른 글
스프링 부트 : 자동 구성, 자동 배포, 의존성 주입 (0) | 2023.12.01 |
---|---|
스프링부트 프로젝트 구성과 설정 (0) | 2023.11.30 |
JUnit (0) | 2023.11.27 |
스프링부트 어노테이션 (0) | 2023.11.26 |
빈과 컨테이너 (0) | 2023.11.24 |