unittest¶
Seaded PyCharm’is: File => Settings (Ctrl + Alt + S) => Tools => Python Integrated Tools => Default Test runner: Unittests
Testide kirjutamiseks tasub luua eraldi moodul, nt. math_tests.py. Funktsiooni nimi peab algama sõnaga „test“ ja ta peab olema klassis, mis pärib klassi unittest.TestCase. (Tuleb importida moodul unittest) Klassi nimi võib olla suvaline.
import unittest
from foos import small_calculator
class MathTests(unittest.TestCase):
...
Nüüd aga funktsioonidel peab olema argument self, mis laseb kasutada superklassi funktsioone.
import unittest
from foos import small_calculator
class MathTests(unittest.TestCase):
def test_base_arguments(self):
assert -1 in quadratic_solution(5, 6, 1)
def test_no_solutions(self):
assert len(quadratic_solution(-8, 1, -10)) == 0
Unittest’i juhul on kombeks kasutada tavalise assert asemel järgmiseid funktsioone:
assertEqual(first, second) # if first != second, test fails
assertNotEqual(first, second) # if first == second, test fails
assertTrue(expression) # if expression == False, test fails
assertFalse(expression) # if expression == True, test fails
...
Read more: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertEqual
Et neid funktsioone kasutada, tuleb pöörduda argumendi self juurde.
import unittest
from foos import small_calculator
class MathTests(unittest.TestCase):
def test_base_arguments(self):
self.assertTrue(-1 in quadratic_solution(5, 6, 1))
def test_no_solutions(self):
self.assertEqual(0, len(quadratic_solution(-8, 1, -10)))
Käivitamine: Menüüs: Run (Alt+Shift+F10) => ‚Unittests for …‘