테스트
테스트의 종류 (단위 기준)
기능 테스트
통합 테스트
슬라이스 테스트 (부분 통합 테스트)
단위 테스트
단위 테스트
단위 테스트의 필요성
단위 테스트의 원칙 (F.I.R.S.T)
JUnit
JUnit 기본 작성법
import static org.junit.jupiter.api.Assertions.assertEquals;
public class HelloJUnitTest {
@DisplayName("Hello JUnit Test") // 테스트 실행시 표기
@Test
public void assertionTest() {
String expected = "Hello, JUnit";
String actual = "Hello," + " JUnit";
assertEquals(expected, actual); // 값 검증 메서드
}
}
JUnit 검증 메서드 (Assertion 메서드)
JUnit Assumption 메서드
@DisplayName("Assumption Test")
@Test
public void assumptionTest() {
assumeTrue(System.getProperty("os.name").startsWith("Windows")); // os가 윈도우일때만 해당 테스트를 진행
// assumeTrue(System.getProperty("os.name").startsWith("Linux"));
System.out.println("execute?");
assertTrue(processOnlyWindowsTask());
}
테스트 케이스 전처리, 후처리
public class BeforeEachTest {
@BeforeEach
public void init() {
System.out.println("Pre-processing before each test case"); // 총 두번 호출됨
}
@DisplayName("@BeforeEach Test1")
@Test
public void beforeEachTest() {}
@DisplayName("@BeforeEach Test2")
@Test
public void beforeEachTest2() {}
}