1. 요구사항 정의서에서 기술 도출예를 들어 로그인 기능을 만든다고 한다면- 회원가입 시에 데이터를 DB에 저장한다. ㄴ 1번 예외는 회원 ID의 Duplicate 예외를 체크해야한다. ㄴ 2번 예외로 제대로 데이터가 저장되었는지 select로 확인한다. 총 1번과 2번의 테스트가 필요할 것이다. 2. 위의 기능을 테스트하기 위해 테스트코드를 작성한다.주의점은 테스트 코드를 먼저 만들어야하며, Dto 혹은 로직을 먼저 만들어선 안된다. 늘 끝에서 먼저 생각해야한다.책의 내용을 정리해서 말하자면 그 이유는 중심에 있다고본다. 예외사항을 고려해서 실패 코드를 먼저 작성해야한다. 그렇게 예외를 던지는 값부터 거꾸로 올라가서 테스트하는데에 필요한 클래스, 메서드, 변수 등을 고민하며 테스트를 진행해야한다. ..
암호 강도 측정 기능을 TDD로 구현했을 때의 순서는 다음과 같았다. 1. 모든 규칙을 충족하는 암호 강도는 '강함' - 아무 것도 걸지 않고 그대로 보내버린다.2. 길이만 8글자 미만이고 나머지 규칙은 충족하는 암호의 강도는 '보통' - 8글자 미만 if문을 짜고 보통을 리턴한다.3. 숫자를 포함하지 않고 나머지 규칙은 충족하는 암호의 강도는 '보통' - 숫자 포함if문을 짜고 보통을 리턴한다.4. 값이 없는 암호의 강도는 '유효하지 않음' - 값이 없으면 잘못된 값으로 리턴한다.5. 대문자를 포함하지 않고 나머지 규칙은 충족하는 경우 - 대문자 관련 if문을 짜고 위 두개의 이프문을 사용하거나 변수로 결과값을 넣어 사용한다.6. 길이가 8글자 이상인 규칙만 충족하는 경우 - 2번의 반대값으로 이프문을..

1. 만들 기능에 대해 설계를 고민한다. 2. 과정1 을 수행하며 구현에 대해 고민한다. 3. 기능에 대한 구현을 완료한 것 같으면 기능을 테스트한다. 이 과정에서 원하는대로 동작하지 않거나 문제가 발생하면 과정2에서 작성한 코드를 디버깅하면서 원인을 찾는다. Maven org.junit.jupiter junit-jupiter-engine 5.5.0 test 위 상황의 문제점- 과정2에서 한 번에 작성한 코드가 많으면 디버깅 시간이 길어진다. 디버깅, 로그 메시지 추가 등 코드를 한줄씩 따라가며 원인을 찾아야했다.- A가 공통을 만들면 B가 가져다 쓰면서 테스트하는 경우도 있다(B가 잘..
- Total
- Today
- Yesterday
- rejectValue
- jpa api
- 로그인
- ArgumentResolver
- JPA
- react실행
- 항해플러스
- 컨트
- 인터셉터
- exception
- 예외처리
- 백엔드 개발자 공부
- thymleaf
- 스프링공부
- BindingResult
- 항해99
- 리터럴
- Java
- 향해플러스백엔드
- 스프링부트
- filter
- Intercepter
- 백엔드 개발자 역량
- reject
- hypertexttransferprotocol
- SpringBoot
- HTTP
- React
- 향해플러스
- 향해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |