| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | """
 | 
					
						
							|  |  |  | Python unit testing framework, based on Erich Gamma's JUnit and Kent Beck's | 
					
						
							| 
									
										
										
										
											2016-01-15 09:53:51 -08:00
										 |  |  | Smalltalk testing framework (used with permission). | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | This module contains the core framework classes that form the basis of | 
					
						
							|  |  |  | specific test cases and suites (TestCase, TestSuite etc.), and also a | 
					
						
							|  |  |  | text-based utility class for running the tests and reporting the results | 
					
						
							|  |  |  |  (TextTestRunner). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Simple usage: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     import unittest | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-09 10:34:24 +01:00
										 |  |  |     class IntegerArithmeticTestCase(unittest.TestCase): | 
					
						
							| 
									
										
										
										
											2016-09-28 17:28:41 +03:00
										 |  |  |         def testAdd(self):  # test method names begin with 'test' | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  |             self.assertEqual((1 + 2), 3) | 
					
						
							|  |  |  |             self.assertEqual(0 + 1, 1) | 
					
						
							|  |  |  |         def testMultiply(self): | 
					
						
							|  |  |  |             self.assertEqual((0 * 10), 0) | 
					
						
							|  |  |  |             self.assertEqual((5 * 8), 40) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if __name__ == '__main__': | 
					
						
							|  |  |  |         unittest.main() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Further information is available in the bundled documentation, and from | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   http://docs.python.org/library/unittest.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Copyright (c) 1999-2003 Steve Purcell | 
					
						
							| 
									
										
										
										
											2010-01-09 18:45:30 +00:00
										 |  |  | Copyright (c) 2003-2010 Python Software Foundation | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | This module is free software, and you may redistribute it and/or modify | 
					
						
							|  |  |  | it under the same terms as Python itself, so long as this copyright message | 
					
						
							|  |  |  | and disclaimer are retained in their original form. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, | 
					
						
							|  |  |  | SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF | 
					
						
							|  |  |  | THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | 
					
						
							|  |  |  | DAMAGE. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT | 
					
						
							|  |  |  | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | 
					
						
							|  |  |  | PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, | 
					
						
							|  |  |  | AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, | 
					
						
							|  |  |  | SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | __all__ = ['TestResult', 'TestCase', 'TestSuite', | 
					
						
							|  |  |  |            'TextTestRunner', 'TestLoader', 'FunctionTestCase', 'main', | 
					
						
							|  |  |  |            'defaultTestLoader', 'SkipTest', 'skip', 'skipIf', 'skipUnless', | 
					
						
							| 
									
										
										
										
											2010-03-27 13:25:41 +00:00
										 |  |  |            'expectedFailure', 'TextTestResult', 'installHandler', | 
					
						
							| 
									
										
										
										
											2010-04-25 19:53:49 +00:00
										 |  |  |            'registerResult', 'removeResult', 'removeHandler'] | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Expose obsolete functions for backwards compatibility | 
					
						
							|  |  |  | __all__.extend(['getTestCaseNames', 'makeSuite', 'findTestCases']) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-22 02:53:52 +00:00
										 |  |  | __unittest = True | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | from .result import TestResult | 
					
						
							|  |  |  | from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf, | 
					
						
							|  |  |  |                    skipUnless, expectedFailure) | 
					
						
							| 
									
										
											  
											
												Merged revisions 78227,78229,78288,78348,78377,78770,78774-78776,78810 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
  r78227 | michael.foord | 2010-02-18 14:30:09 -0600 (Thu, 18 Feb 2010) | 1 line
  unittest.TestCase uses safe_repr for producing failure messages. Partial fix for issue 7956
........
  r78229 | michael.foord | 2010-02-18 15:37:07 -0600 (Thu, 18 Feb 2010) | 1 line
  Fix unittest.TestCase.assertDictContainsSubset so it can't die with unicode issues when constructing failure messages. Issue 7956
........
  r78288 | michael.foord | 2010-02-21 08:48:59 -0600 (Sun, 21 Feb 2010) | 1 line
  Silence UnicodeWarning in crazy unittest test.
........
  r78348 | michael.foord | 2010-02-22 17:28:32 -0600 (Mon, 22 Feb 2010) | 1 line
  Support for old TestResult object (unittest) with warnings when using unsupported features.
........
  r78377 | michael.foord | 2010-02-23 11:00:53 -0600 (Tue, 23 Feb 2010) | 1 line
  unittest.TestResult can now be used with the TextTestRunner. TextTestRunner compatible with old TestResult objects.
........
  r78770 | michael.foord | 2010-03-07 14:22:12 -0600 (Sun, 07 Mar 2010) | 1 line
  Fix for potentials errors in constructing unittest failure messages. Plus skipped test methods no longer run setUp and tearDown (Issue 8059)
........
  r78774 | michael.foord | 2010-03-07 16:04:55 -0600 (Sun, 07 Mar 2010) | 1 line
  Addition of setUpClass and setUpModule shared fixtures to unittest.
........
  r78775 | michael.foord | 2010-03-07 17:10:36 -0600 (Sun, 07 Mar 2010) | 1 line
  Fix accidental name rebinding in unittest py3k warning filtering.
........
  r78776 | michael.foord | 2010-03-07 17:16:20 -0600 (Sun, 07 Mar 2010) | 1 line
  Remove accidental print statement from last commit.
........
  r78810 | raymond.hettinger | 2010-03-09 02:44:18 -0600 (Tue, 09 Mar 2010) | 5 lines
  Improve the basic example.
  * Show both the decorator and regular form for assertRaises()
  * Use assertTrue() instead of assertIn() to teach useful minimal subset of the API
........
											
										 
											2010-03-14 15:04:17 +00:00
										 |  |  | from .suite import BaseTestSuite, TestSuite | 
					
						
							| 
									
										
										
										
											2009-07-19 21:01:52 +00:00
										 |  |  | from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames, | 
					
						
							|  |  |  |                      findTestCases) | 
					
						
							|  |  |  | from .main import TestProgram, main | 
					
						
							| 
									
										
										
										
											2010-02-10 15:51:42 +00:00
										 |  |  | from .runner import TextTestRunner, TextTestResult | 
					
						
							| 
									
										
										
										
											2010-04-25 19:53:49 +00:00
										 |  |  | from .signals import installHandler, registerResult, removeResult, removeHandler | 
					
						
							| 
									
										
										
										
											2010-02-10 15:51:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # deprecated | 
					
						
							|  |  |  | _TextTestResult = TextTestResult | 
					
						
							| 
									
										
										
										
											2014-11-05 03:09:01 +13:00
										 |  |  | 
 | 
					
						
							|  |  |  | # There are no tests here, so don't try to run anything discovered from | 
					
						
							|  |  |  | # introspecting the symbols (e.g. FunctionTestCase). Instead, all our | 
					
						
							|  |  |  | # tests come from within unittest.test. | 
					
						
							|  |  |  | def load_tests(loader, tests, pattern): | 
					
						
							|  |  |  |     import os.path | 
					
						
							|  |  |  |     # top level directory cached on loader instance | 
					
						
							|  |  |  |     this_dir = os.path.dirname(__file__) | 
					
						
							|  |  |  |     return loader.discover(start_dir=this_dir, pattern=pattern) |