Unit-Tests são uma ferramenta poderosa para desenvolvedores garantirem a qualidade do seu código. Eles permitem que você teste funções isoladamente e assegure que elas funcionam como desejado. Neste guia, vou mostrar como escrever seu primeiro Unit-Test em Python. Você aprenderá não apenas os fundamentos do Unit Testing, mas também como estruturar seus testes de forma eficiente.

Principais insights

  • Unit-Tests ajudam a identificar erros precocemente e garantem que suas funções funcionem como desejado.
  • A biblioteca Python unittest oferece uma maneira simples de implementar testes.
  • Testes eficazes devem incluir cenários positivos e negativos e verificar os tipos de dados das saídas.

Guia passo a passo

Passo 1: Preparação do seu projeto

Primeiro, você precisa de um arquivo Python onde sua função está definida. No nosso exemplo, chamaremos o arquivo de preisberechnung.py. Aqui, você definirá uma função get_verkaufspreis que recebe o preço de custo e adiciona uma margem.

Python Unit-Test Fundamentos: Sua introdução

Passo 2: Crie um arquivo para seus Unit-Tests

Em seguida, crie um novo arquivo que deverá conter os testes para esta função. Vamos chamar este arquivo de preisberechnung_test.py. Aqui, você trabalhará com o módulo unittest.

Para usar o framework, importe-o no início do seu arquivo:

import unittest
from preisberechnung import get_verkaufspreis
Fundamentos de Teste Unitário em Python: Sua Introdução

Passo 3: Defina uma classe de teste

Uma classe de teste deve herdar de unittest.TestCase. Isso permite que você organize todos os testes de forma estruturada. Renomeie a classe para PreisberechnungTest para deixar claro o que está sendo testado.

Python Unit-Test fundamentos: Sua introdução

Passo 4: Escreva seus testes

Agora é hora de escrever os testes reais. Comece com um teste que verifica se a saída de get_verkaufspreis é do tipo esperado (float):

class PreisberechnungTest(unittest.TestCase): def test_preis_ist_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Python Unit-Test fundamentos: Seu início

Passo 5: Teste entradas inválidas

É igualmente importante testar entradas inválidas. Adicione um teste que verifique se a função lança uma exceção ao ser chamada com entradas inválidas, como None ou uma string:

def test_invalid_input(self): with self.assertRaises(TypeError): get_verkaufspreis("invalid")
Python Unit-Test fundamentos: Sua introdução

Passo 6: Execute os testes

Para executar seus testes, você pode fazer isso pelo terminal ou diretamente na sua IDE. Se você estiver usando o terminal, execute o seguinte:

python -m unittest preisberechnung_test.py

Na sua IDE, como o PyCharm, você pode usar a configuração de execução para rodar os testes.

Fundamentos do Teste Unitário em Python: Sua Introdução

Passo 7: Verifique os resultados

Se você executar os testes com sucesso, receberá uma saída que informa se todos os testes foram aprovados. Um resultado verde significa que seu código está funcionando como previsto.

Passo 8: Amplie os testes

Além dos testes básicos, você pode adicionar mais cenários relevantes para aumentar a robustez do código. Lembre-se de testar tanto casos positivos quanto negativos para garantir que sua lógica funcione em todas as situações.

Python Unit-Test fundamentos: Sua introdução

Resumo - Primeiro Unit-Test com Python: Fundamentos e Implementação

Escrever Unit-Tests é uma habilidade importante que ajuda a tornar seu código confiável. Neste guia, você aprendeu a escrever seu primeiro Unit-Test em Python, desde a definição da função até a execução e verificação dos resultados. Testes rigorosos melhoram consideravelmente a manutenibilidade do seu código e ajudam a identificar problemas precocemente.

Perguntas Frequentes

Como eu crio um Unit-Test em Python?Para criar um Unit-Test em Python, crie uma classe de teste que herda de unittest.TestCase e escreva testes como métodos dessa classe.

Por que eu deveria escrever Unit-Tests?Unit-Tests ajudam a identificar erros precocemente e garantem que suas funções funcionem como desejado.

Como eu executo Unit-Tests?Você pode executar Unit-Tests através do terminal com python -m unittest [nome do arquivo] ou diretamente em sua IDE.

Quais são boas práticas para Unit-Tests?Uma boa prática inclui testar tanto cenários positivos quanto negativos, além de verificar tipos de dados. A regularidade da execução também é importante para verificar mudanças no código imediatamente.