[Python-checkins] CVS: python/dist/src/Lib/test README,1.11,1.12
Fred L. Drake
fdrake@users.sourceforge.net
Fri, 28 Sep 2001 13:05:27 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv22877
Modified Files:
README
Log Message:
Reflect recent refinements of the regression testing framework.
Index: README
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/README,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** README 2001/09/10 01:39:21 1.11
--- README 2001/09/28 20:05:25 1.12
***************
*** 37,48 ****
the interface and general guidelines on writing PyUnit based tests.
! The test_support helper module provides a single function for use by
PyUnit based tests in the Python regression testing framework:
run_unittest() takes a unittest.TestCase derived class as a parameter
! and runs the tests defined in that class. All test methods in the
! Python regression framework have names that start with "test_" and use
! lower-case names with words separated with underscores.
doctest based tests
--- 37,68 ----
the interface and general guidelines on writing PyUnit based tests.
! The test_support helper module provides a two functions for use by
PyUnit based tests in the Python regression testing framework:
run_unittest() takes a unittest.TestCase derived class as a parameter
! and runs the tests defined in that class, and run_suite() takes a
! populated TestSuite instance and runs the tests.. All test methods in
! the Python regression framework have names that start with "test_" and
! use lower-case names with words separated with underscores.
!
! All PyUnit-based tests in the Python test suite use boilerplate that
! looks like this:
!
! import unittest
! import test_support
!
! class MyTestCase(unittest.TestCase):
! # define test methods here...
!
! def test_main():
! test_support.run_unittest(MyTestCase)
+ if __name__ == "__main__":
+ test_main()
+
+ This has the advantage that it allows the unittest module to be used
+ as a script to run individual tests as well as working well with the
+ regrtest framework.
+
doctest based tests
***************
*** 342,348 ****
getting imported. After importing test_spam, regrtest also executes
test_spam.test_main(), if test_spam has a "test_main" attribute.
! This is rarely needed, and you shouldn't create a module global
! with name test_main unless you're specifically exploiting this
! gimmick. In such cases, please put a comment saying so near your
! def test_main, because this feature is so rarely used it's not
! obvious when reading the test code.
--- 362,372 ----
getting imported. After importing test_spam, regrtest also executes
test_spam.test_main(), if test_spam has a "test_main" attribute.
! This is rarely required with the "traditional" Python tests, and
! you shouldn't create a module global with name test_main unless
! you're specifically exploiting this gimmick. This usage does
! prove useful with PyUnit-based tests as well, however; defining
! a test_main() which is run by regrtest and a script-stub in the
! test module ("if __name__ == '__main__': test_main()") allows
! the test to be used like any other Python test and also work
! with the unittest.py-as-a-script approach, allowing a developer
! to run specific tests from the command line.