[python] FastAPI 테스트 작성하기
FastAPI는 Python을 사용하여 빠르고 효율적인 API를 만들 수 있는 웹 프레임워크입니다. API 테스트를 작성하는 것은 개발 중 품질을 유지하고 코드를 안정화시키는 중요한 과정입니다. 이번 글에서는 FastAPI를 사용하여 API 테스트를 어떻게 작성하는지 알아보겠습니다.
1. FastAPI 테스트 환경 설정
먼저, FastAPI를 사용하여 API를 테스트하기 위해 pytest
와 httpx
를 설치해야 합니다.
pip install pytest httpx
그리고 테스트 파일을 저장할 디렉터리를 만들고 이를 패키지로 인식하도록 __init__.py
파일을 추가합니다.
2. API 테스트 작성
아래는 FastAPI를 사용하여 간단한 예제 API를 작성한 후, 이를 테스트하는 코드입니다.
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
# test_main.py
import pytest
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)
def test_read_root():
response = client.get("/")
assert response.status_code == 200
assert response.json() == {"Hello": "World"}
위 코드에서 test_main.py
파일은 pytest
에 의해 자동으로 실행되며, FastAPI의 TestClient
를 사용하여 API 엔드포인트를 호출하고 예상되는 결과를 검증합니다.
3. 테스트 실행
터미널에서 아래와 같이 명령어를 실행하여 테스트를 수행합니다.
pytest
모든 테스트가 통과되면 성공적으로 API 테스트를 작성한 것입니다.
요약
FastAPI를 사용하여 API를 작성하고 이를 테스트하는 과정을 살펴보았습니다. API 테스트는 코드의 안정성을 보장하고 예상대로 작동하는지 확인하는 데 중요한 역할을 합니다. FastAPI와 pytest
, httpx
를 이용하여 효율적으로 API 테스트를 작성할 수 있습니다.
더 자세한 내용은 FastAPI 공식 문서를 참고하세요.