본문 바로가기
🎪 놀고있네/Python

[Python] PyTest - API 테스트 해보기

by 냥장판 2024. 5. 8.
반응형

특정 API 를 사용해서 정보 얻어오는 방법

 

get_api.py 파일에 아래와 같은 예제 코드 생성

import requests

def get_users_by_name(name):
    # API 엔드포인트
    API_URL = "https://jsonplaceholder.typicode.com/users"

    # GET 요청을 보내어 사용자 목록을 가져옴
    response = requests.get(API_URL)
    
    # 응답 코드가 200인지 확인
    if response.status_code != 200:
        # 응답이 성공적으로 수신되지 않은 경우 오류 처리
        raise Exception("Failed to fetch user data from API")

    # 응답의 JSON 형식을 파싱하여 사용자 목록을 가져옴
    users = response.json()
    
    # 사용자 목록을 반복하면서 원하는 이름을 가진 사용자를 찾음
    matching_users = [user for user in users if user["name"] == name]
    
    return matching_users

 

테스트해줄 테스트 파일 생성 test_api.py

import pytest
from get_api import get_users_by_name

def test_get_users_by_name():
    # 테스트할 이름
    name = "Leanne Graham"
    
    # 특정 이름을 가진 사용자 목록을 가져옴
    users = get_users_by_name(name)
    
    # 사용자 목록이 비어있지 않은지 확인
    assert users, f"No users found with the name: {name}"
    
    # 사용자 정보를 출력
    for user in users:
        print("사용자 정보:", user)

# 테스트 실행
test_get_users_by_name()

 

test 결과 report 로 확인

 

 

report html 생성방법은 아래 참조

2024.05.01 - [🎪 놀고있네/Python] - [Python] PyTest-html

반응형

댓글