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 …‘