Em Python, uma das estruturas de teste de unidade mais comumente usadas é unittest, que está incluída na biblioteca padrão. Ele fornece um rico conjunto de ferramentas para criar e executar testes, bem como relatar resultados.
Principais recursos da estrutura unittest
Caso de teste: um caso de teste é criado subclassificando unittest.TestCase. Cada método da classe que começa com test_ é considerado um teste.
Asserções: a estrutura fornece uma variedade de métodos de asserção para verificar os resultados esperados, como assertEqual, assertTrue, assertFalse, etc.
Test Runner: A estrutura inclui um executor de testes que executa os testes e relata os resultados.
Estrutura básica de um teste unitário
Importar o módulo unittest: comece importando a biblioteca unittest.
Crie um caso de teste: defina uma classe que herda de unittest.TestCase.
Definir métodos de teste: cada método deve começar com test_ e conter asserções para verificar o comportamento esperado.
Executar os testes: Use unittest.main() para executar os testes se o script for executado diretamente.
Exemplo simples
Aqui está um exemplo simples que demonstra como usar a estrutura unittest para testar uma função simples.
Função a ser testada
Primeiro, vamos criar uma função simples que iremos testar:
def add(a, b):
retornar um b
def subtrair(a, b):
retornar a - b
Teste unitário para a função
Agora, criaremos um teste unitário para as funções de adição e subtração:
importar teste unitário
from math_functions import add, subtract # Importe as funções a serem testadas
class TestMathFunctions(unittest.TestCase):
def test_add(self): self.assertEqual(add(2, 3), 5) # Test case: 2 3 = 5 self.assertEqual(add(-1, 1), 0) # Test case: -1 1 = 0 self.assertEqual(add(0, 0), 0) # Test case: 0 0 = 0 def test_subtract(self): self.assertEqual(subtract(5, 3), 2) # Test case: 5 - 3 = 2 self.assertEqual(subtract(-1, -1), 0) # Test case: -1 - (-1) = 0 self.assertEqual(subtract(0, 5), -5) # Test case: 0 - 5 = -5
if nome == 'principal':
unittest.main()
Explicação do teste de unidade
import unittest: importa o módulo unittest.
from math_functions import add, subtract: importa as funções que queremos testar.
class TestMathFunctions(unittest.TestCase): Define uma classe de caso de teste que herda de unittest.TestCase.
Cada método começando com test_ representa um teste separado.
Dentro de cada método de teste, self.assertEqual() verifica se a saída da função corresponde ao valor esperado.
if name == 'main': unittest.main(): Esta linha permite que o script execute os testes quando executado diretamente.
Executando os testes
Para executar os testes, basta executar o script test_math_functions.py. Você pode fazer isso na linha de comando:
python test_math_functions.py
Saída
Se todos os testes forem aprovados, você verá um resultado semelhante a este:
Executei 2 testes em 0,001s
OK
Isso indica que os métodos test_add e test_subtract foram aprovados com sucesso. Se alguma afirmação falhar, o unittest reportará a falha, mostrando qual teste falhou e por quê.
Conclusão
A estrutura unittest em Python fornece uma maneira simples e eficaz de criar e executar testes de unidade. Ao escrever testes para suas funções, você pode garantir que elas se comportem conforme o esperado e mantenham a alta qualidade do código durante todo o processo de desenvolvimento.
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