728x90
반응형

전체 글 185

[스프링 MVC] 서블릿 필터를 어떻게 스프링 빈으로 관리할 수 있을까?

[스프링 MVC] 서블릿 필터를 어떻게 스프링 빈으로 관리할 수 있을까? 서블릿 필터는 서블릿 컨테이너 영역입니다. 그런데 우리는 서블릿 필터 구현체를 작성하고 빈으로 등록할 수 있습니다. 필터 인터페이스 public interface Filter { public default void init(FilterConfig filterConfig) throws ServletException {} public void doFilter(ServletRequest request, ServletRpesponse response, FilterChain chain) throws IOException, SevletException; public default void destory() {} } 필터 인터페이스를 구현하고 ..

[JUnit5] 인스턴스 테스트와 테스트 순서대로 실행하는 방법

[JUnit5] 인스턴스 테스트와 테스트 순서대로 실행하는 방법 인스턴스 테스트 🎲 독립 시행 JUnit의 기본전략은 테스트 메소드 마다 테스트 인스턴스를 새로 생성합니다. 코드로 보면 바로 이해가 되실것 입니다. public class InstanceTest { int value = 1; @Test @DisplayName("value를 1증가 했기 때문에 2가 된다.") void test1() { System.out.println(this); // 메소드 해시 value++; // 1증가 Assertions.assertEquals(2, value); } @Test @DisplayName("value를 1증가 했기 때문에 3 된다.") void test2() { System.out.println(this..

테스트/0+ JUnit 2023.05.17

[JUnit5] 테스트 인자 값 타입 변환하는 방법

[JUnit5] 테스트 인자 값 타입 변환하는 방법 인자 값 타입 변환 JUnit에서는 인자값을 타입 변환하여 테스트를 할 수 있습니다. 종류로는 암묵적인 타입 변환이 있고, 명시적인 타입 변환이 있습니다. 명시적인 타입변환은 우리가 커스텀하게 사용하여 타입변환을 한다는 의미 입니다. 먼저 테스트에 사용할 Study 클래스 입니다. @Data public class Study { private StudyStatus status; private int limit; private String name; public Study(int limit) { this.status = StudyStatus.DRAFT; if(limit < 0) { throw new IllegalArgumentException("limit..

테스트/0+ JUnit 2023.05.17

[스프링 MVC] XML 데이터 파싱(RestTemplate)

[스프링 MVC] XML 데이터 파싱(RestTemplate) 요즘 대부분의 HTTP API는 JSON 형식을 지원합니다. 하지만, 프로젝트를 진행하다보면 XML 형식의 데이터를 파싱해야하는 경우가 생깁니다. 😭 XML 데이터를 파싱하는 방법에 대해서 소개하겠습니다. MessageConverter 먼저 MessageConverter에 대해서 알아야 합니다.^^ HTTP API처럼 (JSON, XML 등등…)데이터를 HTTP 메시지 body에서 직접 읽거나 사용하는 경우HTTP 메시지 컨버터가 기능을 제공하여 편리합니다.^^ MessageConverter가 뭘까요? 🤔 스프링 MVC 내부에서 HTTP 메시지 바디를 읽어 문자나 객체로 변환해서 전달해줍니다. 이때, HttpMessageConverter 라는..

[JUnit5] 환경변수 조건에 따라 테스트 실행하는 방법

[JUnit5] 환경변수 조건에 따라 테스트 실행하는 방법 환경변수 조건을 만족하는 경우에 테스트 실행 환경변수에 따라 테스트를 실행하는 코드를 작성해보겠습니다. 환경변수 설정 저는 macOS를 사용하고 있고 zsh를 사용하고 있습니다. $ vi ~/.zshrc 파일을 열고 export TEST_ENV=LOCAL 를 입력합니다. # If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH="/Users/jangsea-ung/.oh-my-zsh" export PATH=/opt/homebrew..

테스트/0+ JUnit 2023.05.05

[JUnit5] Assertions 기본 사용법

[JUnit5] Assertions 기본 사용법 Jupiter에서 제공하는 Assertions에 대해서 알아보자. 자주 사용하는 Assertions assertEqulas(expected, actual) 실제 값이 기대한 값과 같은지 확인 assertNotNull(actual) actual이 null이 아닌지 assertTrue(boolean) 조건이 참(true)인지 확인 assertAll(executables…) 모든 확인 구문 확인 assertThrows(expectedType, executable) 예외 발생 확인 assertTimeout(duration, executable) 특정 시간 안에 로직이 완료되는지 확인 로직이 완료될 때 까지 기다림 assertTimeoutPreemptively(ex..

테스트/0+ JUnit 2023.05.05
728x90
반응형