Python:
Escrevendo testes

Como fazer:

Python vem com um módulo embutido para escrever testes chamado unittest. É assim que você pode usá-lo para testar uma função simples:

import unittest

def add(a, b):
    return a + b

class TestAddFunction(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(1, 2), 3)
        self.assertEqual(add(-1, 1), 0)
        self.assertNotEqual(add(10, 2), 12, "Deveria ser 12")

if __name__ == '__main__':
    unittest.main()

Quando você executa esse script de teste, você deve ver uma saída indicando que seus testes passaram (ou falharam).

Para testes mais modernos e expressivos, você pode usar uma biblioteca de terceiros como pytest. Primeiro, você terá que instalá-la usando o pip:

pip install pytest

Depois, você pode escrever seus testes de uma maneira mais simples, sem a necessidade de subclasse:

# Salve isso em um arquivo chamado test_with_pytest.py
def add(a, b):
    return a + b

def test_add():
    assert add(1, 2) == 3
    assert add(-1, 1) == 0
    assert add(10, 2) != 12, "Deveria ser 12"

Para executar seus testes com pytest, simplesmente execute:

pytest test_with_pytest.py

Você deve ver a saída do pytest mostrando os resultados dos seus testes.