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 маълумотҳоро коркард мекунад, бидуни вобастагӣ ба сервери воқеӣ.