Unit test(단위 테스트), TDD란?_(JUnit)

홍영창·2025년 4월 7일

Unit test란?

스프링이 개발자에게 제공하는 가장 중요한 가치: 객체지향, 테스트
Unit test란 특정 함수나 메서드가 예상한데로 작동하는지 작은 단위로 구분해 테스트 하는것을 말한다.

Unit test를 사용했을때 장점??

Unit test(단위 테스트)를 사용했을때의 장점은 특히 개발 초기에 버그를 줄이고 코드를 보다 완성도 있게 만들수 있다는 장점이 있습니다.

Unit test의 특징

  1. 독립성- 단위테스트는 특정 함수나, 메서드를 최소단위로 독립적으로 테스트 합니다.
  2. 빠른 실행- 단위 테스트는 비교적 적은 코드량을 테스트하기 때문에 빠르게 실행 합니다.

Unit test는 어떤식으로 사용할까?(JUnit)

JUnit: TDD를 위한 필수 도구로, 코드 작성 후 예상 결과를 검증함으로써 코드 품질을 높이고, 유지보수를 쉽게 만들어줍니다.

테스트 주도 개발(TDD): 코드를 작성하기 전에 테스트를 먼저 작성하는 개발 방식.

JUnit의 이점

  • JUnit은 Java 기반 프로젝트의 품질을 보장하는 핵심 도구입니다. 이를 통해 개발자는 안전하고 확실한 애플리케이션을 구축할 수 있습니다.

JUnit사용시 주의점

  1. 테스트 메서드는 public.
  2. 테스트할 메서드에 @Test를 사용한다.
  3. return은 항상 void
  4. 파라미터를 사용할 수 없다.

사용법

  1. 먼저 사용하려는 JUnit 의존성을 추가해준다.
    위는 자주 사용하는 maven repository이고 밑은 gradle 사용할때 참고하면 좋을것같다.
    mvnrepository
    plugins.gradle

  2. 코드 사용

package com.ex.demo;
import static org.junit.Assert.*;
import org.junit.Test;

	public class DemoApplicationTests {

    @Test
    public void testSubtraction() {
        int x = 13;
        int y = 15;

        int result = x - y;

        assertTrue(result == -2);//조건이 true인지 확인
    }

    @Test
    public void testAddition() {
        int x = 13;
        int y = 15;

        int result = x + y;

        assertEquals(28, result);//기대 값과 결과 값을 비교
    }
}

실행 하였을떄 예상대로 동작 하였을때 나오는 화면이다

만약 예상밖의 결과가 나온다면

이처럼 21이란 결과를 예상했지만 실행 결과는 28로 나와 실패라는 화면이 뜬다.

JUnit의 장점

  1. 단순하고 직관적인 문법
  • 어노테이션 기반 설정으로 사용이 쉽고 직관적.
  1. TDD지원
  • 테스를 먼저 작성하고 구현하는 테스트 기반 개발(TDD)을 용이하게 합니다.
  1. IDE와의 통합
  • Eclipse, IntelliJ와 같은 IDE와 완벽히 통합되어 테스트 작성, 실행, 결과 확인이 용이합니다.
  1. 배포 및 통합 지원
  • CI/CD 도구(Jenkins, GitHub Action등)와 연동하여 지속적 테스트와 빌드 자동화에 적합합니다.
profile
안녕하세요.

0개의 댓글