Sobes.tech
Junior — Middle

Jak určuje PyTest, které testovací funkce nebo případy mají být během testování provedeny?

sobes.tech AI

Odpověď od AI

PyTest automaticky detekuje testovací funkce a metody podle určitých pravidel pojmenování a struktury. Ve výchozím nastavení hledá:

  • Funkce, jejichž jména začínají na test_.
  • Metody uvnitř tříd, jejichž jména začínají na test_, za předpokladu, že třída také začíná na Test a nezdědí od unittest.TestCase.
  • Soubory, jejichž názvy začínají na test_ nebo končí na _test.py.

Tímto způsobem PyTest prohledává adresáře, nachází tyto soubory, importuje je a spouští všechny funkce a metody odpovídající těmto kritériím. To usnadňuje organizaci testů bez nutnosti je explicitně registrovat.

Příklad:

# test_example.py

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

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

Po spuštění pytest budou tyto dva testy automaticky detekovány a spuštěny.