
Olá, pessoal! No post de hoje, vamos aprender um tópico fundamental no desenvolvimento de aplicações em Python: testes unitários para requisições web. Neste post, iremos aprender o passo a passo para instalar a biblioteca Unittest2 e utilizá-la para testar requisições web. Para isso, vamos utilizar um código de exemplo que irá mostrar como realizar um teste de verificação de saúde de um servidor. Vamos lá!
Passo 1: Instalando a biblioteca Unittest2 :
A biblioteca Unittest2 é uma extensão do módulo de testes unitários do Python, oferecendo recursos adicionais e melhorias. Para instalá-la, você pode utilizar o gerenciador de pacotes pip. Abra o terminal e execute o seguinte comando:
pip install unittest2
Aguarde enquanto o pip realiza o download e a instalação da biblioteca. Após a conclusão, você estará pronto para começar a utilizar o Unittest2.
Passo 2: Preparando o ambiente Antes de iniciar os testes:
É importante garantir que o ambiente esteja configurado corretamente. Certifique-se de que a biblioteca Requests também está instalada. Caso contrário, você pode instalá-la com o seguinte comando:
pip install requests
Passo 3: Código de exemplo:
Agora que temos tudo configurado, vamos utilizar o código de exemplo abaixo como base para o nosso teste:
import unittest
import requests
HEALTH_CHECK_URL = "http://localhost:5001/"
class HealthCheck(unittest.TestCase):
def test_health_check(self):
response = requests.get(HEALTH_CHECK_URL)
self.assertEqual(response.status_code, 200)
json_data = response.json()
self.assertIn("version", json_data)
self.assertLess(response.elapsed.total_seconds(), 1.0)
if __name__ == '__main__':
unittest.main()
Vamos analisar cada parte do código:
- Na linha 3, definimos a URL de verificação de saúde do servidor. Você pode substituí-la pela URL correspondente ao seu ambiente de teste.
- Na classe
HealthCheck
(linha 5), criamos uma subclasse deunittest.TestCase
, que é a classe base para a criação de testes unitários. - O método
test_health_check
(linha 7) é um exemplo de teste. Nele, utilizamos o módulorequests
para fazer uma requisição GET à URL de verificação de saúde. Em seguida, realizamos as seguintes verificações:self.assertEqual(response.status_code, 200)
: verifica se o código de status da resposta é igual a 200, indicando uma resposta bem-sucedida.json_data = response.json()
: obtém os dados da resposta no formato JSON.self.assertIn("version", json_data)
: verifica se a chave “version” está presente nos dados obtidos.self.assertLess(response.elapsed.total_seconds(), 1.0)
: verifica se o tempo de resposta da requisição é inferior a 1 segundo.
Passo 4: Executando os testes
Após entendermos o código de exemplo, podemos executar os testes. No final do arquivo, na linha if __name__ == '__main__':
, chamamos a função unittest.main()
, que irá executar todos os testes definidos na classe HealthCheck
. Basta executar o arquivo Python e verificar a saída no terminal.
Com isso, finalizamos nosso tutorial sobre testes unitários em Python para requisições web. Agora você possui os conhecimentos necessários para escrever e executar testes em suas aplicações web. Lembre-se da importância dos testes para garantir a qualidade e o bom funcionamento do seu código. Pratique e aperfeiçoe suas habilidades!