JSP -1

김정현·2024년 6월 5일
0

JSP

목록 보기
1/13

JUnit

테스트

  • 단위 테스트
    : 기능 단위별 테스트 - junit
  • 통합 테스트
    : 모든 기능을 통합, 유기적으로 잘 동작하는지 테스트

의존성

1) maven 기준
junit-jupiter - dependency
maven-surefire-plugin -plugin

2) gradle 기준

dependencies {
	testImplementation 'org.junit.jupiter:junit-jupiter-api:버전'
}

test {
	user UnitPlatform()
}

@Test 애노테이션

테스트로 사용할 클래스에 @Test 붙이면 테스트 가능 ( private x)

참고)
테스트용 클래스 -> 명칭 Test 관례

테스트 메서드 : 주요 단언 메서드

1) assertEquals(expected, actual) : 예상했던 값이 실제 결과와 일치하는 지

2) assertNotEquals(unexpected, actual) : 예상했던 값과 다르면 통과

3) assertSame (Object expected, Object actual) : 예상했던 객체와 실제 객체가 일치하는지(==, 동일성)

4) assertNotSame(Object unexpected, Object actual) : 예상했던 객체와 실제 객체가 다르면 통과

5) assertTrue(boolean condition) : true가 나오면 통과

6) assertFalse(boolean condition) : false가 나오면 통과

7) assertNull(Object actual) : null이 나오면 통과

8) assertNotNull(Object actual) : null이 나오지 않으면 통과

9) fail() : 특정 상황에서 테스트 실패를 유도하는 경우

10) assertThrows(Class expectedType, Executable executable) :

 expectedType - 발생 예상되는 예외 클래스 클래스
 executable - 실행 코드

11) assertDoesNotThrow(Executable executable)

  executable - 실행코드
  실행 코드 실행시 예외가 발생 하지 않으면 통과

12) assertAll(Executable... executable)
:

참고)
TDD(Test Driven Development) : 테스트 주도 개발

  • 테스트를 통한 설계 방식

    테스트 하기위한 시나리오 -> 필요한 기능을 개발 - > 테스트 실행 -> 통과x -> 기능 보완(리팩토링) -> 통과 -> 기능완성

-테스트 하기위한 시나리오 -> 복잡한 시나리오

지속적인 리팩토링 (코드의 수정 보완)

추가 애노테이션

1) @DisplayName : 테스트에 대한 설명
2) @Disabled : 테스트 배제

  • 테스트에서 lombok 실행하기 위해선

test 의존성을 설정해줘야함

테스트 라이프사이클

1) @BeforeEach 애노테이션
: 각각의 단위 테스트 메서드 실행 전에

2) @AfterEach 애노테이션
: 각각의 단위 테스트 메서드 실행 후에

3) @BeforeAll 애노테이션
: 모든 테스트 실행 전 (한 번만 실행)
: 정적 메서드로 정의

4) @AfterAll 애노테이션
: 모든 테스트 실행 후 (한 번만 실행)
: 정적 메서드로 정의

-모든 테스트 실행

1) mvn test
mvn package

2) gradle test
gradle build

태그 제외

  • 테스트 할때 제외됨

    @TempDir 애노테이션을 이용한 임시 폴더 생성

    Timeout 애노테이션을 이용한 테스트 실행 시간 검증

    -성능 테스트

0개의 댓글