Sobes.tech
Junior — Middle

Kā PyTest nosaka, kuras testēšanas funkcijas vai gadījumus jāizpilda testēšanas laikā?

sobes.tech AI

Atbilde no AI

PyTest automātiski atpazīst testēšanas funkcijas un metodes pēc noteiktiem nosaukuma un struktūras noteikumiem. Noklusējuma režīmā tas meklē:

  • Funkcijas, kuru nosaukumi sākas ar test_.
  • Metodes klases iekšpusē, kuru nosaukumi sākas ar test_, ar nosacījumu, ka klase arī sākas ar Test un ne manto no unittest.TestCase.
  • Failus, kuru nosaukumi sākas ar test_ vai beidzas ar _test.py.

Tādējādi, PyTest skenē direktorijus, atrod šos failus, importē tos un izpilda visas funkcijas un metodes, kas atbilst šiem kritērijiem. Tas atvieglo testu organizēšanu bez to tiešas reģistrācijas.

Piemērs:

# test_example.py

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

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

Kad izpildāt pytest, šie divi testi tiks automātiski atpazīti un izpildīti.