Unit-Test(단위 테스트)
test
Unit Test(단위 테스트)
JUnit
Version 5.x
Annotation 을 활용한 테스트 코드 구현
- @Test
- @BeforeEach, @AfterEach
- Assertions Class 내 static assert method 를 활용해 테스트 결과 검증
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorTest {
Calculator cal;
@BeforeEach
public void setUp() {
cal = new Calculator();
}
@Test
public void 덧셈() {
assertEquals(7, cal.add(3, 4));
}
@Test
public void 뺄셈() {
assertEquals(1, cal.subtract(5, 4));
}
@Test
public void 곱셉() {
assertEquals(6, cal.multiply(2, 3));
}
@Test
public void 나눗셈() {
assertEquals(2, cal.divide(8, 4));
}
@AfterEach
public void tearDown() {
cal = null;
}
}
Version 4.x
Annotation 을 활용한 테스트 코드 구현
- @org.junit.Test
- @org.junit.Before, @org.junit.After
- Assert Class 내 static assert method 를 활용해 테스트 결과 검증
public class CalculatorTest {
@Before
public void setup() {
System.out.println("setup");
}
@Test
public void test1() throws Exception {
System.out.println("test1");
}
@Test
public void test2() throws Exception {
System.out.println("test2");
}
@After
public void teardown() {
System.out.println("teardown");
}
}
학습 테스트
- 다른 사람이 구현해 놓은(오픈 소스 프레임워크, 다른 사람이 만든 프레임워크) 것을 단위 테스트로 만들어 테스트하는 것이다.
- 스프링 공부도 학습 테스트를 기반으로 할 수 있다.
예시
@Test
@DisplayName("'1,2' 를 분할해 배열로 저장합니다.")
void split() {
String[] actual = "1,2".split(",");
assertThat(actual).contains("1", "2");
}
연습 효과
- 단위테스트 방법을 학습할 수 있다
- 단위테스트 도구의 사용법을 익힐 수 있다.
- 사용하는 API 에 대한 학습 효과가 있다.