스프링이 개발자에게 제공하는 가장 중요한 가치: 객체지향, 테스트
Unit test란 특정 함수나 메서드가 예상한데로 작동하는지 작은 단위로 구분해 테스트 하는것을 말한다.
Unit test(단위 테스트)를 사용했을때의 장점은 특히 개발 초기에 버그를 줄이고 코드를 보다 완성도 있게 만들수 있다는 장점이 있습니다.
- 독립성- 단위테스트는 특정 함수나, 메서드를 최소단위로 독립적으로 테스트 합니다.
- 빠른 실행- 단위 테스트는 비교적 적은 코드량을 테스트하기 때문에 빠르게 실행 합니다.
JUnit: TDD를 위한 필수 도구로, 코드 작성 후 예상 결과를 검증함으로써 코드 품질을 높이고, 유지보수를 쉽게 만들어줍니다.
테스트 주도 개발(TDD): 코드를 작성하기 전에 테스트를 먼저 작성하는 개발 방식.
먼저 사용하려는 JUnit 의존성을 추가해준다.
위는 자주 사용하는 maven repository이고 밑은 gradle 사용할때 참고하면 좋을것같다.
mvnrepository
plugins.gradle
코드 사용
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로 나와 실패라는 화면이 뜬다.