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á naTesta nezdědí odunittest.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.