Home | History | Annotate | Download | only in unittest
      1 """
      2 Python unit testing framework, based on Erich Gamma's JUnit and Kent Beck's
      3 Smalltalk testing framework.
      4 
      5 This module contains the core framework classes that form the basis of
      6 specific test cases and suites (TestCase, TestSuite etc.), and also a
      7 text-based utility class for running the tests and reporting the results
      8  (TextTestRunner).
      9 
     10 Simple usage:
     11 
     12     import unittest
     13 
     14     class IntegerArithmenticTestCase(unittest.TestCase):
     15         def testAdd(self):  ## test method names begin 'test*'
     16             self.assertEqual((1 + 2), 3)
     17             self.assertEqual(0 + 1, 1)
     18         def testMultiply(self):
     19             self.assertEqual((0 * 10), 0)
     20             self.assertEqual((5 * 8), 40)
     21 
     22     if __name__ == '__main__':
     23         unittest.main()
     24 
     25 Further information is available in the bundled documentation, and from
     26 
     27   http://docs.python.org/library/unittest.html
     28 
     29 Copyright (c) 1999-2003 Steve Purcell
     30 Copyright (c) 2003-2010 Python Software Foundation
     31 This module is free software, and you may redistribute it and/or modify
     32 it under the same terms as Python itself, so long as this copyright message
     33 and disclaimer are retained in their original form.
     34 
     35 IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
     36 SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
     37 THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
     38 DAMAGE.
     39 
     40 THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
     41 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
     42 PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
     43 AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
     44 SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
     45 """
     46 
     47 __all__ = ['TestResult', 'TestCase', 'TestSuite',
     48            'TextTestRunner', 'TestLoader', 'FunctionTestCase', 'main',
     49            'defaultTestLoader', 'SkipTest', 'skip', 'skipIf', 'skipUnless',
     50            'expectedFailure', 'TextTestResult', 'installHandler',
     51            'registerResult', 'removeResult', 'removeHandler']
     52 
     53 # Expose obsolete functions for backwards compatibility
     54 __all__.extend(['getTestCaseNames', 'makeSuite', 'findTestCases'])
     55 
     56 __unittest = True
     57 
     58 from .result import TestResult
     59 from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
     60                    skipUnless, expectedFailure)
     61 from .suite import BaseTestSuite, TestSuite
     62 from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
     63                      findTestCases)
     64 from .main import TestProgram, main
     65 from .runner import TextTestRunner, TextTestResult
     66 from .signals import installHandler, registerResult, removeResult, removeHandler
     67 
     68 # deprecated
     69 _TextTestResult = TextTestResult
     70