测试函数功能:
def average(values):
"""Computes.
>>> print(average([1,3,5,7,9]))
5.0
"""
return sum(values)/len(values)
import doctest
doctest.testmod()
结果;
TestResults(failed=0, attempted=1)
单元测试demo:
import unittest
def average(values):
"""Computes.
>>> print(average([1,3,5,7,9]))
5.0
"""
return sum(values)/len(values)
class TestStatisticalFunctions(unittest.TestCase):
def test_average(self):
self.assertEqual(average([20, 30, 70]), 40.0)
self.assertEqual(round(average([1, 5, 7]), 1), 4.3)
self.assertRaises(ZeroDivisionError, average, [])
self.assertRaises(TypeError, average, 20, 30, 70)
unittest.main() # Calling from the command line invokes all tests
执行结果如下;
Ran 1 test in 0.022s
OK
Traceback (most recent call last):
File "C:/Python31/unitTestDemo", line 16, in <module>
unittest.main() # Calling from the command line invokes all tests
File "C:\Python31\lib\unittest.py", line 1566, in __init__
self.runTests()
File "C:\Python31\lib\unittest.py", line 1613, in runTests
sys.exit(not self.result.wasSuccessful())
SystemExit: False