테스트 코드 오류
안녕하세요 테스트 코드 사용 중 오류가 잡히지 않아서 문의 드립니다.
강의에서 설명해주신 것처럼 아래와 같이 코드를 작성했지만 오류가 발생합니다.
어떻게 해야 할까요?
from fastapi.testclient import TestClient
from main import app
# api들이 있는 app을 검증할 클라이언트 생성
client = TestClient(app=app)
def test_health_check():
# api 요청
response = client.get("/")
# 반환 값 검증
assert response.status_code == 200
assert response.json() == {"ping": "pong"}아래는 오류 내용 입니다.
(fastapi_orm) C:\Users\User\Desktop\Fast_API(ORM)\code\src>pytest
============================================================================= test session starts =============================================================================
platform win32 -- Python 3.10.16, pytest-8.3.5, pluggy-1.5.0
rootdir: C:\Users\User\Desktop\Fast_API(ORM)\code\src
plugins: anyio-4.8.0
collected 0 items / 1 error
=================================================================================== ERRORS ====================================================================================
_____________________________________________________________________ ERROR collecting tests/test_main.py _____________________________________________________________________
tests\test_main.py:5: in <module>
client = TestClient(app)
..\..\..\..\anaconda3\envs\fastapi_orm\lib\site-packages\starlette\testclient.py:399: in __init__
super().__init__(
E TypeError: Client.__init__() got an unexpected keyword argument 'app'
=========================================================================== short test summary info ===========================================================================
ERROR tests/test_main.py - TypeError: Client.__init__() got an unexpected keyword argument 'app'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================== 1 error in 0.86s ===============
답변 1
1
안녕하세요, 라이브러리 버전 문제로 app 키워드가 더 이상 제공되지 않기 때문에 발생하는 문제 같은데요. 강의 자료에 제공해드린대로 버전을 지정해서 라이브러리 설치를 다시 해보시겠어요?
0
아래와 같이 라이브러리들을 설정했는데요 혹시 문제되는 버전이 있을까요??
전체 다 다시 설치해봐도 안되어서 문의 드립니다.
(fastapi_orm) C:\Users\User\Desktop\Fast_API(ORM)\code\src>pip list
Package Version
----------------- ---------
anyio 4.8.0
certifi 2025.1.31
cffi 1.17.1
click 8.1.8
colorama 0.4.6
cryptography 44.0.2
exceptiongroup 1.2.2
fastapi 0.97.0
greenlet 3.1.1
h11 0.14.0
httpcore 1.0.7
httpx 0.28.1
idna 3.10
iniconfig 2.0.0
packaging 24.2
pip 25.0
pluggy 1.5.0
pycparser 2.22
pydantic 1.10.21
PyMySQL 1.1.1
pytest 8.3.5
pytest-mock 3.14.0
setuptools 75.8.0
sniffio 1.3.1
SQLAlchemy 2.0.38
starlette 0.27.0
tomli 2.2.1
typing_extensions 4.12.2
uvicorn 0.34.0
wheel 0.45.1
0
httpx가 지금 최신 버전으로 설치되어 있는데 0.27.x 버전으로 설치되어야 합니다.
아래 명령어로 재설치 부탁드립니다.
pip uninstall httpx
pip install "httpx<0.28.0"
FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ
0
86
2
DB 질문
0
80
2
Post API 강의 질문
0
54
2
post 작성 오류
0
106
3
uvicorn 종료 문제
0
435
2
왜 return타입이 ToDo라는 스트링인가요?
0
130
2
ORM 연관관계
0
109
2
Oracle DB 연결과 관련해 질문이 있습니다..
0
153
2
섹션 2, 3의 PATCH API의 차이점
0
132
1
ORM 테이블 생성
0
119
1
orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요
0
214
3
FastAPI 폴더 구조에 대해 질문이 있습니다.
0
407
2
질문 있습니다.
0
160
2
ORM 개념
0
133
1
mysql root 비밀번호 변경관련
0
294
2
[질문] patch API
0
151
3
디자인 패턴
0
128
1
main.py 리로드문제
0
235
2
인터프리터 오류
0
285
4
로그 저장에 대한 질문입니다.
0
100
1
Internal Server Error
0
239
2
PATCH API - 수정
0
198
2
파이참 임포트 문제
0
259
1
INFO sqlalchemy.engine.Engine ROLLBACK
0
215
1





