- Sobre o Projeto
- Equipe
- Instalação
- Vantagens do Pytest
- Clonando o projeto
- Iniciando os testes de API
- Criando um teste de API
- Gerando report dos testes
- Arquivos
Projeto desenvolvido para o seminário da matéria Qualidade de software(S206) ministrada pelo professor Chris Lima no primeiro semestre de 2022.
Na realização deste seminário foi utilizada a ferramenta Pytest, visando a criação de testes de API.
- 👧 Luiza Monroe
- 👦 Alvaro Breno
- 👦 Leonardo Mendonça
Para saber mais sobre a ferramenta Pytest , você pode acessar a documentação e poder esclarecer quaisquer duvidas que surgirem. Mas segue em frente pro passo a passo!
Para instalar o Pytest é preciso ter também em sua máquina o PIP, gerenciador de pacotes do Python.
Normalmente, o PIP é instalado automaticamente se você:
- Está usando Python baixado de python.org ⁉
- Está usando IDE's como o PyCharm, que ja possui o PIP integrado e também uma fácil instalação do Pytest, direto em suas configurações de projeto.
- O VSCode também tem sua extensão com o Python e seu guia de instalação.
Step 1: Rode o seguinte comando para baixar o arquivo "get-pip.py":
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
Step 2: Instalando PIP no windows:
python(ou py) get-pip.py
Step 3: Adicione PIP nas suas variáveis de ambiente do Windows, para poder rodar o comando de qualquer lugar.
- Para verificar se instalou corretamente e saber sua versão, rode o seguinte comando:
pip --version
- Para atualizar sua versão do PIP, rode o seguinte comando:
python -m pip install --upgrade pip
- 1º Com um simples comando você já instala o Pytest:
pip install -U pytest
- 2º Para saber a versão do Pytest, também é simples:
pytest --version
Você pode seguir o passo-a-passo do python.org para instalação do Python em Linux
Step 1:
sudo apt-get update
Step 2:
sudo apt-get install python-pytest
Você pode seguir o passo-a-passo do python.org para instalação do Python em MacOS
- A sintaxe simples permite que pessoas de todos os níveis possam utilizá-lo sem dificuldade;
- Permite execução de testes em paralelo;
- Facilidade na troca da execução de um teste, um conjunto ou uma suíte completa;
- Detecta testes automaticamente baseando-se nos nomes dos arquivos e diretórios criados;
- Open source.
Agora é hora de baixar o projeto e poder testar um pouco dessa ferramenta de testes unitários.
- Com o terminal ainda aberto, navegue até a pasta onde deseja salvar o projeto e cole o seguinte comando:
git clone https://github.com/luizamonroe/Seminario-S206-PYTEST.git
Pronto, tudo configurado! Agora é só escolher o seu IDE que preferir.
-
Utilizaremos o Dummy pela simplicidade e praticidade na hora de implementar nossos scripts. Ele nos oferece rotas com todos os verbos HTTP apresentados inicialmente e nos permite buscar, criar, deletar e atualizar empregados (employees).
-
Na IDE utilizada, crie um arquivo chamado get.py
-
A biblioteca requests será utilizada para realizar as chamadas nas APIs, então devemos importá-la no nosso get.py:
-
Guardaremos o Dummy na variável url:
-
Precisamos criar um cabeçalho (header) informando que vamos realizar um request e que aceitamos diversos tipos de resposta do endpoint:
-
Para realizar a busca pelos empregados utilizando a biblioteca request, utilizaremos a função do verbo get, informando a url utilizada, e guardaremos essa informação em "resposta":
-
E para imprimirmos a variável, e analisarmos o conteudo do site utilizado:
-
Pelo terminal da própria IDE utilizada:
- Rodar o comando python get.py, e o resutado deverá ser este:
-
Pelo terminal do próprio computador:
- Navegar até a pasta criada (no meu caso Documents\Inatel\Seminario-S206-PYTEST);
- Rodar o comando python get.py, e o resutado deverá ser este:
-
Os nomes dos scripts de teste do Pytest e seus métodos devem começar com test_ ou finalizar com _test.
-
Crie um método com o nome de preferência respeitando a nomenclatura citada.
-
Passe todo o conteúdo do seu script para o interior desse método através da indentação.
-
Remova os prints e utilize asserts para validar os retornos da API.
-
Agora execute o comando pytest test_get.py e veja o resultado.
-
Obs: O teste só deve passar caso as condições sejam verdadeiras.
- Para gerar os reports dos teste você precisa fazer os seguintes passos:
- Se quiser html reports
pip install pytest-html
- Apos instalação ao executar o teste pelo cmd ou terminar da IDE que escolheu acrescente o comando --html=report.html, veja:
pytest --html=report.html
- Obs: O comando pytest executa todos os testes da sua suíte de testes no diretório raíz do projeto.
- Se quiser por json-report
pip install pytest-json-report — upgrade
- Após a instalação ao executar os testes pelo cmd ou terminal da IDE que escolheu acrescente o comando --json-report, veja:
pytest --json-report
- 📄 test_get.py
- 📄 test_put.py