
오늘 공부한 것
- 로깅(logging)
- 시스템 운영에 대해 기록
- 로그 파일에 기록하는 코드를 추가하여 필요한 정보를 남을 수 있게 함
- 목적
- 오류가 발생했을 때 오류에 대한 기록을 남겨 디버깅 하기 위함
- 디버깅/ 시스템 에러 추적/ 성능/ 이슈 상황을 위해 사용
- 특징
- 너무 많은 로그를 남기면 빈번한 파일 IO 발생 (성능 저하)
- 너무 적은 로그를 남기면 정확한 시스템 상황이나 문제 파악 어려움
- 보통 log level 중 INFO부터 남김
- log API 종류
- java.util.logging API 구조
- JUL Log Level
- SEVERE (highest value) - 중대한 문제
- WARNING - 잠재적인 문제 (경고)
- INFO - 서버 정보
- CONFIG - 정적 구성 메시지
- FINE - 추적 정보
- FINER - 상당히 상세한 추적 정보
- FINEST (lowest value) - 매우 상세한 추적 정보
- JUL Log 출력
- logger 객체를 생성하여 log를 출력할 수 있다.
- JUL Log level 설정
- Customer Logger 정의
- 단위 테스트
- 테스트 종류
- 통합 테스트
- 단위 테스트
- 단위테스트란?
- 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차
- 모든 함수와 메소드에 대한 테스트 케이스가 통과하는 지 확인하는 절차
- 해당 부분만 독립적으로 테스트하기 때문에 어떤 코드를 리팩토링하여도 빠르게 문제 여부를 확인
- 실무에서는 단위 테스트 선호함
- 요즘 많이 사용되는 TDD (Test-Driven Development, 테스트 주도 개발)에서 사용
- given - when - then 패턴
- 1개의 단위 테스트를 3가지 단계로 나누어 처리하는 패턴으로 각각의 단계는 다음을 의미
- given (준비): 어떠한 데이터가 준비되었을 때
- when (실행): 어떠한 함수를 실행하면
- then (검증): 어떠한 결과가 나와야 한다.
- 1개의 단위 테스트를 3가지 단계로 나누어 처리하는 패턴으로 각각의 단계는 다음을 의미
- Junits
- 자바 단위 테스트를 위한 테스팅 프레임워크
- 보통 AssertJ랑 같이 사용
- 테스트 종류
느낀점
로깅 파일 남기고 테스트 작성 하는 법에 대해 배웠다. 함수마다 시나리오를 생각하여 예외나 검사사항들을 모두 테스트 하는게 정말 깔끔하고 처음에는 시간이 걸리더라도 나중에는 훨씬 효율적으로 프로젝트 할 수 있는 것 같다.
'TIL' 카테고리의 다른 글
| [2022.10.21] jsp - servlet 공부 2일차 (0) | 2022.10.21 |
|---|---|
| [2022.10.19] jsp-servlet 공부 1일차 (0) | 2022.10.19 |
| [2022.10.18] 자바 공부 18일차 (0) | 2022.10.18 |
| [2022.10.14] 자바 공부 17일차 (0) | 2022.10.14 |
| [2022.10.13] 자바 공부 16일차 (0) | 2022.10.13 |