redcarrot1 / redcarrot1.github.io

MIT License
0 stars 0 forks source link

posts/LocalDateTime%EC%9D%80_%EC%A3%BC%EC%9D%98%ED%95%98%EC%9E%90/ #8

Open utterances-bot opened 3 months ago

utterances-bot commented 3 months ago

LocalDateTime은 테스트하기 어렵다. | I Think So!

Intro 백엔드 서버를 개발하면 시간 관련 로직을 자주 사용합니다. 게시물 작성 시각이나 특정 날짜로 필터링하는 기능은 주변 서비스에서 쉽게 찾아볼 수 있습니다. 하지만 시간 관련 로직은 테스트하기 어렵습니다. 특히 LocalDateTime.now() 처럼 static 메서드를 직접 사용한다면 mocking하기 복잡

https://redcarrot1.github.io/posts/LocalDateTime%EC%9D%80_%EC%A3%BC%EC%9D%98%ED%95%98%EC%9E%90/

donghoony commented 3 months ago

ㅋㅋㅋ 나도 이거때문에 고민 많이 했었는데, LocalDateTime.now()에 파라미터로 Clock을 넣을 수 있고, Clock을 빈으로 등록하면 꽤 쉽게 했던 걸로 기억해 🔥 모킹을 하는 걸 별로 안 좋아해서.. (어쩌면 테스트용 빈을 등록하는 게 모킹일 수 있지만, 적어도 LocalDateTime.now(clock)을 사용해 가져오니까)

잘 봤습니다 👏🏻