유닛테스트 관련 질문입니다
강사님 안녕하세요!
api 테스트가 아닌 유닛 테스트도 한번 해보고 싶어서 시도를 해봤는데요.
(예를 들면, UserRepository의 get_user_by_username를 test 코드에 UserRepository.get_user_by_username 이렇게 입력하고 테스트 시도)
depends 관련해서 AttributeError: 'Depends' object has no attribute 이러한 에러가 나는데
이 에러를 해결해보려고 검색도 해보고 그랬는데 잘 모르겠어서..
혹시 유닛 테스트는 어떤 방식으로 할수 있을지 조언 부탁드립니다 ㅠㅠ
검색해보니 repository의 depends와 연관된 것 같기도 한데 이를 어떻게 해결할지 방법을 잘 모르겠습니다.
감사합니다!
답변 1
1
안녕하세요! repository의 unit 테스트를 위해서는 레포지토리 __init__ 메소드에 기본 값으로 할당된 session 대신에 레포지토리를 인스턴스화 할 때 sqlalchemy session을 직접 생성해서 주입하시면 됩니다.
# 테스트 코드
session = "세션 직접 생성"
repo = Repository(session=session)
아래 github 레포지토리에 있는 코드를 참고해보시면 테스트를 위한 session 만드는 법을 확인하실 수 있습니다!
https://github.com/qu3vipon/python-ddd/tree/main/src/tests/integration
FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ
0
88
2
DB 질문
0
81
2
Post API 강의 질문
0
55
2
post 작성 오류
0
107
3
uvicorn 종료 문제
0
438
2
왜 return타입이 ToDo라는 스트링인가요?
0
130
2
ORM 연관관계
0
109
2
Oracle DB 연결과 관련해 질문이 있습니다..
0
154
2
섹션 2, 3의 PATCH API의 차이점
0
132
1
ORM 테이블 생성
0
120
1
테스트 코드 오류
0
177
1
orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요
0
214
3
FastAPI 폴더 구조에 대해 질문이 있습니다.
0
413
2
질문 있습니다.
0
161
2
mysql root 비밀번호 변경관련
0
298
2
[질문] patch API
0
151
3
디자인 패턴
0
128
1
main.py 리로드문제
0
235
2
인터프리터 오류
0
286
4
로그 저장에 대한 질문입니다.
0
102
1
Internal Server Error
0
242
2
PATCH API - 수정
0
200
2
파이참 임포트 문제
0
264
1
INFO sqlalchemy.engine.Engine ROLLBACK
0
217
1





