카카오로 부터 사용자의 정보를 가져온 다음의 로그인 로직을 검증하려고 하는데 매 테스트 마다 카카오에게 사용자 정보를 요청하는 과정은 불필요하다고 생각했습니다. 그래서 고민하던중 mocking이라는 기법을 알게 되었다. Mocking 이란 Mocking은 소프트웨어 테스트에서 의존성 객체를 대체하여 실제 구현 대신 모조 객체(mock object...
서비스를 개발하다 보니 서비스내에서 성공만 검증하는게 아니라 실패했을때의 예외도 검증해야 더 안정적인 코드가 된다고 생각하여 예외까지 검증을 하였다. assertThatThrownBy 으로 검증 @DisplayName("SNS로 등록된 사용자가 있을 경우 일반 로그인이 되지 않는다.") @Test void normalLoginIfSnsUserE...
AS-IS 인덱스로 하나하나 꺼내여 검증 기존에는 아래와 같이 하나하나 꺼내여 검증을 하니 assertThat메소드도 불필요하게 많이 사용하게 되었다. @DisplayName("럭키즈에서 저장해둔 미션들을 가져온다.") @Test void getLuckMissions() { IntStream.rangeClosed(1, 5).forEach(...
Junit이란? JUnit은 Java 프로그래밍 언어로 작성된 단위 테스트 프레임워크로, 소프트웨어의 각 모듈이나 기능을 독립적으로 검증할 수 있도록 돕습니다. 간단한 사용법, 강력한 기능, 그리고 자동화 테스트를 지원함으로써, JUnit은 Java 개발자들 사이에서 널리 사용되는 도구가 되었습니다. 주요특징 단위 테스트 도구 ...
Stack의 LIFO(Last In First Out) 특성을 이용하여 오른쪽으로 열린 괄호일시 Stack에 반대괄호를 넣어두고 하나씩 꺼내어 검증하는 식으로 구현하였다. public class 괄호회전하기 { static int answer = 0; static Stack<Character> stack = new Stack&l...
build.gradle JWT Token을 검증하기 위해선 Spring Security를 사용해야한다. implementation 'org.springframework.boot:spring-boot-starter-security' Spring Filter Filter는 Spring DispatcherServlet에 요청이 들어오기 ...
개발환경 Spring boot 3.1.3 Java 17 build.gradle 아래 JwtToken 라이브러리를 받아준다. implementation 'io.jsonwebtoken:jjwt-api:0.11.5' implementation 'io.jsonwebtoken:jjwt-impl:0.11.5' implementation '...
JWT (Json Web Token) JWT란 Json Web Token으로 말그대로 JSON형식의 토큰에 대한 표준 규격이다. 주로 사용자의 인증정보를 담아 서버와 클라이언트가 안전하게 주고 받기 위해서 사용된다. 클라이언트가 로그인시 서버는 JWT Token을 발급해주고 클라이언트는 해당 JWT Token을 저장하고 서버에 데이터를 요청할 때 ...
0.213 /bin/sh: ./gradlew: Permission denied ------ Dockerfile:9 -------------------- 7 | COPY . /home/project/FileTransfer 8 | 9 | >>> RUN ./gradlew clean 10 | RU...
싱글톤(Singleton) 패턴이란? 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 웹어플리케이션은 하루에 수백 수만번의 요청이 들어올 수 있다. 그렇다면 아래 코드가 한번에 100번이 호출된다면 어떻게 될까? MemoryMemberRepository.class 객체가 100번이 생성...