"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como simular o módulo de solicitações do Python para interações de API realistas?

Como simular o módulo de solicitações do Python para interações de API realistas?

Publicado em 19/11/2024
Navegar:713

How to Mock Python\'s Requests Module for Realistic API Interactions?

Mocking Pythons solicita módulo para interações simuladas de API

Em nossa busca para testar de forma abrangente o código Python que interage com APIs, simulando efetivamente o módulo de solicitações é crucial. Aqui está uma abordagem passo a passo para simular chamadas requests.get() com respostas personalizadas:

Etapa 1: Simular o módulo Requests

Utilizando o pacote simulado do Python, definimos nossa função personalizada (mocked_requests_get) para substituir requests.get(). Esta função retorna respostas simuladas com base no URL fornecido. Em nosso exemplo, diferentes URLs receberão respostas específicas:

def mocked_requests_get(*args, **kwargs):
    if args[0] == 'aurl':
        return 'a response'
    elif args[0] == 'burl':
        return 'b response'
    elif args[0] == 'curl':
        return 'c response'

Etapa 2: simulação na classe de teste

Em nossa classe de teste, aplicamos a simulação ao módulo de solicitações usando unittest.mock.patch ():

@mock.patch('requests.get', side_effect=mocked_requests_get)

Este decorador envolve nosso método de teste, garantindo que requests.get seja ridicularizado com nossa função personalizada.

Etapa 3: Chamando a visualização e verificando as respostas

Invocamos a função de visualização como de costume e verificamos as respostas esperadas. Nossa função simulada garante que as respostas correspondam às respostas personalizadas que definimos anteriormente:

res1 = requests.get('aurl')
assert res1 == 'a response'
res2 = request.get('burl')
assert res2 == 'b response'
res3 = request.get('curl')
assert res3 == 'c response'

Seguindo essas etapas, você pode simular efetivamente o módulo de solicitações em seus testes Python, permitindo simular várias respostas de API e testar completamente o comportamento do seu código em diferentes cenários.

Declaração de lançamento Este artigo foi reimpresso em: 1729424602 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3