Sobes.tech
Junior — Middle

Оё имкон дорад, ки мокҳоро барои арзёбии функсионалияти API дар вақти санҷиш истифода бурд?

sobes.tech AI

Ҷавоб аз AI

Бале, мокҳо васеъ истифода мешаванд барои арзёбии функсионалӣ API дар рафти санҷиш. Онҳо имкон медиҳанд, ки компоненте, ки санҷида мешавад, мустақил карда шавад, бо иваз кардани вобастагиҳои воқеӣ (масалан, хидматҳои хориҷӣ ё базаҳои додаҳо) бо имитацияҳое, ки ҷавобҳои пешгӯишавандаро бармегардонанд. Ин кӯмак мекунад, ки логикаи кории API-ро бидуни эҳтиёҷ ба ҳамкорӣ бо хидматҳои воқеӣ санҷиш кардан, тезтар ва боэътимодтар гардонанд.

Маслиҳат барои истифодаи мокҳо:

import requests
from unittest.mock import patch

def get_user_data(user_id):
    response = requests.get(f'https://api.example.com/users/{user_id}')
    return response.json()

# Дар санҷиш
@patch('requests.get')
def test_get_user_data(mock_get):
    mock_get.return_value.json.return_value = {'id': 1, 'name': 'Test User'}
    data = get_user_data(1)
    assert data['name'] == 'Test User'

Инчунин, мокҳо кӯмак мекунанд, ки чӣ гуна API маълумотҳоро коркард мекунад, бидуни вобастагӣ ба сервери воқеӣ.