def factorial(n): """Return the factorial of n, an exact integer >= 0. >>> [factorial(n) for n in range(6)] [1, 1, 2, 6, 24, 120] >>> factorial(30) 265252859812191058636308480000000 """ import math result = 1 factor = 2 while factor <= n: result *= factor factor += 1 return resultif __name__ == "__main__": import doctest doctest.testmod()import unittestclass TestHomework(unittest.TestCase): def test_2plus2(self): self.assertEqual(2 + 2, 5)if __name__ == "__main__": unittest.main()self.assertEqual(a, b)self.assertTrue(b)self.assertFalse(b)with self.assertRaises(TypeError): s.split(10)def setUp(self): ... - вызывается перед запуском тестаdef tearDown(self): ... - после отработки теста@classmethoddef setUpClass(cls): ... - перед запуском всех тестов@classmethoddef tearDownClass(cls): ... - после отработки всех тестовТестирует функции с именем
test_*, методы test_* в классе Test* или в классе наследнике unittest.TestCase