>> Java단위테스트시 필요한 라이브러리
1. JUnit5 : 자바 단위 테스트를 위한 테스트 프레임워크
2. AssertJ : 자바 테스트를 돕기 위해 다양한 문법을 지원하는 라이브러리
>> 패턴(given/when/then)
- given (준비) : 어떤 데이터가 준비됐을때
- when (실행) : 어떤 함수를 실행하면
- then (검증) : 어떤 결과가 나와야한다.
1. given
- 테스트를 위해 준비하는 과정
import org.junit.Test;
import static org.junit.Assert.*;
//테스트 클래스는 반드시 public으로 선언해야함
//test클래스명+Test
public class CalculatorTest {
@Test
public void sum() {
//given
Calculator calculator = new Calculator();
}
}
2. when
- 실제로 액션을 하는 테스트 실행하는 과정
- when은 가장 중요한 구문이지만 가장 짧음. 보통 한 줄
import org.junit.Test;
import static org.junit.Assert.*;
//테스트 클래스는 반드시 public으로 선언해야함
//test클래스명+Test
public class CalculatorTest {
@Test
public void sum() {
//given
Calculator calculator = new Calculator();
//when
int result = calculator.sum(2, 4);
}
}
3. then
- 테스트를 검증하는 과정.
- 예상한 값, 실제 실행을 통해서 나온 값을 검증
import org.junit.Test;
import static org.junit.Assert.*;
//테스트 클래스는 반드시 public으로 선언해야함
//test클래스명+Test
public class CalculatorTest {
@Test
public void sum() {
//given
Calculator calculator = new Calculator();
//when
int result = calculator.sum(2, 4);
//then
assertEquals(6, result);
}
}
>> @Test
단위테스트임을 명시하는 어노테이션.
>> 예시
public class Calculator {
public int sum(int num1, int num2){
return num1+num2;
}
}
import org.junit.Test;
import static org.junit.Assert.*;
//테스트 클래스는 반드시 public으로 선언해야함
//test클래스명+Test
public class CalculatorTest {
@Test
public void sum() {
Calculator calculator = new Calculator();
int result = calculator.sum(2, 4);
assertEquals(6, result);
}
}
>> assert 주요 메서드
주요 메서드 | 설명 |
assertArrayEquals(a,b) | 배열 a,b가 일치함을 확인 |
assertEquals(a,b) | 객체a,b의 값이 일치함을 확인 |
assertSame(a,b) | 두객체가 동일한지 확인 |
assertTrue(a) | 조건a가 참인지 확인 |
assertNotNull(a) | 객체a가 null이 아님을 확인 |
'백엔드 > java' 카테고리의 다른 글
Spring boot와 AWS로 혼자 구현하는 웹 서비스 #02 (0) | 2022.06.17 |
---|---|
JDK(java development kit)/ JRE(java runtime environment) (0) | 2022.06.12 |
[JAVA] this 의미 (0) | 2022.04.01 |
[JAVA] 생성자(Constructor) (0) | 2022.04.01 |
Spring boot와 AWS로 혼자 구현하는 웹 서비스 #01 (0) | 2022.03.01 |