해결된 질문
작성
·
136
0
강사님 안녕하세요!
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
우왓 점심 먹고 왔는데 벌써 답글이!
말씀하신 것 참고해서 수정해봤는데 잘 작동합니다.
감사합니다!!
장고 강의도 조만간 결제하고 수강하겠습니다~