Sobes.tech
Junior — Middle

Kaip PyTest nustato, kurios testavimo funkcijos ar atvejai turi būti vykdomi testavimo metu?

sobes.tech AI

Atsakymas iš AI

PyTest automatiškai aptinka testavimo funkcijas ir metodus pagal tam tikras pavadinimo ir struktūros taisykles. Pagal numatytuosius nustatymus jis ieško:

  • Funkcijų, kurių pavadinimai prasideda test_.
  • Metodų klasių viduje, kurių pavadinimai prasideda test_, su sąlyga, kad ir klasė prasideda Test ir ne paveldi iš unittest.TestCase.
  • Failų, kurių pavadinimai prasideda test_ arba baigiasi _test.py.

Taip, PyTest skenuoja katalogus, randa šiuos failus, juos importuoja ir vykdo visas funkcijas ir metodus, atitinkančius šiuos kriterijus. Tai palengvina testų organizavimą be jų tiesioginės registracijos.

Pavyzdys:

# test_example.py

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

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

Vykdant pytest, šie du testai bus automatiškai aptikti ir vykdyti.