유닛테스트 관련 질문입니다
강사님 안녕하세요!
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
112
2
DB 질문
0
91
2
Post API 강의 질문
0
70
2
post 작성 오류
0
121
3
uvicorn 종료 문제
0
463
2
왜 return타입이 ToDo라는 스트링인가요?
0
138
2
ORM 연관관계
0
125
2
Oracle DB 연결과 관련해 질문이 있습니다..
0
167
2
섹션 2, 3의 PATCH API의 차이점
0
142
1
ORM 테이블 생성
0
127
1
테스트 코드 오류
0
183
1
orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요
0
228
3
FastAPI 폴더 구조에 대해 질문이 있습니다.
0
438
2
질문 있습니다.
0
171
2
mysql root 비밀번호 변경관련
0
342
2
[질문] patch API
0
159
3
디자인 패턴
0
139
1
main.py 리로드문제
0
247
2
인터프리터 오류
0
311
4
로그 저장에 대한 질문입니다.
0
107
1
Internal Server Error
0
251
2
PATCH API - 수정
0
212
2
파이참 임포트 문제
0
280
1
INFO sqlalchemy.engine.Engine ROLLBACK
0
224
1





