[python] FastAPI 테스트 작성하기

FastAPI는 Python을 사용하여 빠르고 효율적인 API를 만들 수 있는 웹 프레임워크입니다. API 테스트를 작성하는 것은 개발 중 품질을 유지하고 코드를 안정화시키는 중요한 과정입니다. 이번 글에서는 FastAPI를 사용하여 API 테스트를 어떻게 작성하는지 알아보겠습니다.

1. FastAPI 테스트 환경 설정

먼저, FastAPI를 사용하여 API를 테스트하기 위해 pytesthttpx를 설치해야 합니다.

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 공식 문서를 참고하세요.