테스트코드 2

pytest _ 테스트 코드에서 현재 시간 바꾸는 방법

현재 시간을 바꾸는 이유 테스트 코드를 작성하다 보면 현재 시간이 특정 시간을 넘겼을 때 정상적으로 코드가 수행되는지 테스트하고 싶을 때가 있다. 예를 들어 만료일자가 있고 오늘 날짜가 만료일자를 지나면 서비스를 중단하는 로직이 있다고 하자. 이를 어떻게 테스트할 수 있을까? 오늘 날짜가 아직 만료일자를 지나지 않았기 때문에 이를 테스트하기 위해서는 오늘 날짜 혹은 만료일자를 mock으로 대체하여 구현해야 한다. 하지만 mock을 직접 구현하는 데에는 코스트가 들기 때문에 아무래도 꺼려지는 방법이다. 만약 당신이 pytest를 사용한다면 pytest-freezegun 라이브러리를 이용해 이 문제를 쉽게 해결할 수 있다. pytest에서 시간 freeze 하는 방법 먼저 pytest-freezegun 라이..

log가져오기 log기록하기 구현 + 테스트 코드 작성

오늘 한 것 'Dacolog'프로젝트에서 log가져오기 log기록하기 구현 이에 대한 test code 작성 (테스트 커버리지 83%) 성장한 점 FastAPI, MySQL을 ORM없이 연동할 수 있게 되었다. post와 get요청에 대한 test code를 작성할 수 있게 되었다. 노력할 점 현재 테스트 코드에서는 코드 실행시 실제 데이터베이스에 레코드가 생성되는 문제가 있다. 레코드가 실제 생성되지 않도록 테스트 코드를 수정하고 싶다. 내일 하고 싶은 것 테스트 코드 수정 테스트 커버리지 100% 만들기 유저 모델 만들기

Log/Today 2022.03.19