모르지 않다는 것은 아는것과 다르다.

Junit 14

# Junit 5 기본 애노테이션

Junit 이란? 자바 개발자가 가장 많이 사용하는 테스팅 프레임워크. 단위 테스트를 작성하는 자바 개발자 93% JUnit을 사용함. Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공. Jupiter: TestEngine API 구현체로 JUnit 5를 제공. Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체. Junit 5에서 제공하는 기본 애노테이션 @BeforeEach public void beforeEach() { System.out.println("BeforeEach"); } @BeforeAll static void beforeAll(){ System.out.println("BeforeAll"); } @AfterEach public voi..

Junit 2022.02.27

Controller 단위테스트

@WebMvcTest MVC를 위한 테스트, 컨트롤러가 예상대로 동작하는지 테스트하는데 사용된다. 웹상에서 요청과 응답에 대해 테스트할 수 있음. 시큐리티, 필터까지 자동으로 테스트하며, 수동으로 추가/삭제 가능. @SpringBootTest 어노테이션보다 가볍게 테스트할 수 있음. @WebMvcTest 어노테이션을 사용시 다음 내용만 스캔 하도록 제한한다. @Controller @ControllerAdvice @JsonComponent Converter GenericConverter Filter HandlerInterceptor WebMvcConfigurer HandlerMethodArgumentResolver MockBean, MockMVC를 자동 구성하여 테스트 가능하도록 한다. Spring Sec..

Junit 2022.02.27

Bad Request 처리하기

@Valid와 BindingResult (또는 Errors) 스프링 MVC에 해당하는 내용 JS303 애노테이션을 사용해 확인할 수 있다. @Valid 라는 애노테이션을 붙이면 Entity에 바인딩을 할때 애노테이션들에 대한 정보를 참고해서 검증을 수행할 수 있다. 검증을 수행한 결과를 객체 오른쪽에 있는 Errors 객체에 에러값들을 넣어준다. 받은 에러를 확인 해서 Bad Request를 발생시킨다. BindingResult는 항상 @Valid 바로 다음 인자로 사용해야 한다. (스프링 MVC) @NotNull, @NotEmpty, @Min, @Max, ... 사용해서 입력값 바인딩할 때 에러 확인할 수 있다. Errors rejectValue: 필드 에러 reject: 글로벌 에러 BindingEr..

Junit 2022.02.27

Assertion

개요 Assertion 의 여러 기능들을 공부해 보려한다. Assertion 의 여러 기능 import static org.junit.jupiter.api.Assertions.* @Test @DisplayName("스터디 만들기") void create_new_syudy() { Study study = new Study(); assertNotNull(study); assertEquals(StudyStatus.DRAFT, study.getStatus(), () -> "스터디를 처음 만들면 상태값이 DRAFT여야 한다."); } assertEqulas(expected, actual) : 실제 값이 기대한 값과 같은지 확인 assertNotNull(actual) : 값이 null이 아닌지 확인 assertTr..

Junit 2022.02.27