pytest

Seaded PyCharm’is:

File => Settings (Ctrl + Alt + S) => Tools => Project: [projekti nimi] => Project Interpreter => Install(roheline + märk) => Otsi „pytest“ => Install Package

File => Settings (Ctrl + Alt + S) => Tools => Python Integrated Tools => Default Test runner: py.test

Testide kirjutamiseks tasub luua eraldi moodul, nt. ttumath_tests.py. py.test käivitab automaatselt vaid neid funktsioone, mille nime algus on „test“. Argumente testi funktsioonile ei määrata. Üksustesti kirjutamiseks tuleb luua funktsioon ja sinna panna mingi assert lause.

def test_base_arguments():
    assert -1 in quadratic_solution(5, 6, 1)

Funktsioonis võib olla rohkem kui 1 assert lause, aga see ei ole alati parim lahendus. Kui test ebaõnnestub ja see koosneb mitmest osast, siis me ei saa kergelt teada, mis osa ebaõnnestub. Parim variant on see, et üks funktsioon testib ühte olukorda.

from ttumath import quadratic_solution

def test_base_arguments():
    assert -1 in quadratic_solution(5, 6, 1)

def test_no_solutions():
    assert len(quadratic_solution(-8, 1, -10)) == 0

Kui palju teste kirjutada on testija valik. Kuid mida rohkem on teste ja mida keerukam on testitav funktsioon, seda rohkem aega testimine võtab.

Kui testid on valmis, siis on aeg need käivitada. Menüüs: Run (Alt+Shift+F10) => ‚py.test in …‘

Allpool ilmub aken, kus on info kõikidest testidest ja nende staatus (õnnestub/ei õnnestu).

Pytesti installimine käsurealt

pip install -U pytest