澳门新萄京Quality Control: document and unit test

def average(values):
    '''Computes the arithmetic mean of a list of numbers.

    >>> print average([20, 30, 70])
    40.0
    '''
    return sum(values, 0.0) / len(values)

import doctest
doctest.testmod()   # automatically validate the embedded tests

#The unittest module is not as effortless as the doctest module, but it allows a 
#more comprehensive set of tests to be maintained in a separate file:

import unittest

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图