Sobes.tech
Junior — Middle

Como o PyTest determina quais funções ou casos de teste devem ser executados durante o teste?

sobes.tech IA

Resposta da IA

O PyTest detecta automaticamente funções e métodos de teste de acordo com regras específicas de nomenclatura e estrutura. Por padrão, procura:

  • Funções cujo nome começa com test_.
  • Métodos dentro de classes cujo nome começa com test_, desde que a classe também comece com Test e não herde de unittest.TestCase.
  • Arquivos cujo nome começa com test_ ou termina com _test.py.

Assim, o PyTest varre os diretórios, encontra esses arquivos, importa-os e executa todas as funções e métodos que correspondem a esses critérios. Isso facilita a organização dos testes sem necessidade de registrá-los explicitamente.

Exemplo:

# test_example.py

def test_sum():
    assert sum([1, 2, 3]) == 6

class TestMath:
    def test_multiply(self):
        assert 2 * 3 == 6

Ao executar pytest, esses dois testes serão detectados e executados.