Testes automatizados com Pytest - O guia introdutório

pytest é uma ferramenta de testes disponível no Python, podemos fazer a sua instalação a partir do pip.

 Escrevendo testes automatizados com PHPUnit

Quando iniciamos o desenvolvimento de uma nova aplicação, desejamos que ela tenha um longo ciclo de vida, mas para isso é necessário que o projeto tenha muita qualidade e material suficiente que permita a sua manutenção e evolução.

Testes automatizados é um dos fatores que garante a longevidade, pois ela consegue de forma rápida e fácil testar todas as unidades da nossa aplicação, apontando erros, alertas e o que está bom. No Python temos algumas ferramentas de testes automatizados, sendo uma delas o famoso Pytest, ferramenta essa que vamos discutir aqui.

Para esse artigo vamos estar deduzindo que você já tenha o Python e o Pip instalado, sendo esses recursos básicos.

Montando o ambiente virtual com Venv

Vamos utilizar o Venv para criar o pacote do nosso projeto, assim vamos garantir que todas as dependências sejam instaladas na pasta atual ignorando as versões já instaladas no sistema.

Crie uma pasta no seu computador, em seguida, abra o terminal de sua preferência no diretório criado e execute o comando abaixo para criar o ambiente virtual.

python -m venv .

Rode o comando abaixo no seu terminal para ativar seu ambiente virtual.

source Scripts/activate

Caso tenha dúvidas em relação ao Venv, sugiro ler a documentação Criação de ambientes virtuais.

Instalando o Pytest

Uma vez que o ambiente virtual esteja criado e ativo, vamos agora instalar o Pytest com o Pip, para isso, execute o comando abaixo no seu terminal.

pip install pytest

Criando seus testes com Pytest

Na raiz do projeto, crie uma pasta chamada “tests”, sem aspas. É nessa pasta que todos nossos arquivos de teste devem estar. Você pode acessar o site do Pytest para se aprofundar ainda mais na ferramenta.

Todos os arquivos de testes devem ter o prefixo “test_”, por exemplo, “test_matematica”. Os métodos desses arquivos também devem ter o prefixo “_test”, por exemplo, “test_somar”.
Vamos ver abaixo um exemplo de testes, ele importa uma classe e acessa o método Somar.

from app.matematica import Matematica

def test_somar():
    assert Matematica.somar(1, 1) == 2 


Agora vamos ver a classe matemática, que está dentro da pasta app e se chama matematica.py.

class Matematica:

    def somar(v1, v2):
        return v1 + v2

Para rodar os testes, execute o comando abaixo no terminal e todo o relatório de testes será exibido.

pytest

Videoaula completa de Pytest

Agora que você já teve uma introdução, instalação e requisitos, confira nossa videoaula completa apresentando muito mais informações e criando todos os testes do zero.